Ctrl+x bEnter изменится между последними двумя файлами.
Перейти к любому буферу, имя которого запускается с xy
используйте Ctrl+bxyTABEnter
Перечислять буферы: Ctrl+xCtrl+b, используйте Ctrl+x1 для избавлений от окна с несколькими панелями.
Кажется, применение аргумента командной строки к bsub-файлу - очень сложный процесс. Я попробовал метод HEREDOC, указанный mikeserv, но bsub действовал так, как если бы имя файла сценария было командой. Так что самый простой способ обойти эту проблему - вообще не использовать перенаправление ввода.
Поскольку мой вопрос касался конкретно bsub для Platform LSF, вероятно, следующий способ решения проблемы с аргументами такого рода является лучшим: Чтобы передать аргумент сценарию для запуска в bsub, сначала укажите все аргументы bsub в командной строке, а не в файле сценария. Затем, чтобы запустить файл сценария, используйте
"sh script.sh [arg]"
после всех аргументов bsub. Таким образом, вся строка будет выглядеть примерно так:
bsub -q [queue] -J "[name]" -W 00:10 [other bsub args] "sh script.sh [script args]"
В этом случае лучше не использовать файлы .bsub для сценария, а вместо этого использовать обычный сценарий .sh и использовать команду Unix sh для его запуска с аргументами.
Вам нужен либо документ здесь, либо строка здесь.
bsub <<HEREDOC
$(script.bsub 1)
HEREDOC
Вот как выглядит этот документ. Оболочка прочитает в расширении все, что находится между строкой, в которой <
HEREDOC
, и передаст вывод вызываемой команде на ее файловый дескриптор 0 - stdin.
Здесь строка - это то же самое в принципе:
bsub <<< script.bsub 1
Она может выглядеть проще в использовании, но ее также проще запутать и она является а не портативным скриптом оболочки. В то время как документ здесь определен как часть стандарта оболочки POSIX, строка здесь является реализацией, специфичной для оболочки - хотя она будет работать в bash.
Вероятно, лучше использовать этот документ в каждом случае, если вы не можете быть на 100% уверены, что скрипт никогда не будет запущен в среде, в которой он не ломается, и использовать здесь строки только в интерактивном использовании, так как они немного больше, чем ярлык в первую очередь.
Конечно, если любая из этих работ, то, вероятно:
script.bsub 1 | bsub
тоже подойдет. Это будет |pipe
script.bsub
stdout в bsub
stdin, но это также, скорее всего, запустит bsub
в подоболочке. Если bsub
модифицирует текущее окружение оболочки каким-либо образом - например, изменяя значение переменной оболочки - от чего зависит, то |pipe
может быть не лучшим решением.