Как мне объединить команды ssh и cd?

Используйте &, чтобы выполнить команду асинхронно, чтобы рейнджер можно было использовать, пока у вас открыто приложение.

Например, в вашем rifle.confиспользуйте следующую строку:

mime ^text,  label editor = emacs & -- "$@"

вместо

mime ^text,  label editor = emacs -- "$@"

Точно так же предположим, что вы хотите открыть изображение с помощью gimp, затем вы можете нажать rв ranger, чтобы открыть список доступных приложений. Список может выглядеть так:

0 | eog -- "$@"
1 | feh -- "$@"
2 | eom -- "$@"
3 | gimp -- "$@"
:open_with 

Затем используйте 3 &вместо 3, чтобы открыть изображение в gimp, сохраняя при этом возможность использования рейнджера.

Иногда rangerможет быть не настроен для распознавания правильного приложения (, напримерmathematica). Вы по-прежнему можете выбрать это приложение, введя имя приложения в строке :open_with. Однако, чтобы рейнджер продолжал реагировать, используйте флаг f, как в :

.

:open_with mathematica f

(описанный выше метод использования флага fвзят из здесь)

2
08.12.2019, 15:18
2 ответа

Мне это подходит:

ssh user@remote.de -t "cd /home/h/usr/praktikum && git pull && sbatch run.sh; bash --login"

Ибо не оставит тебя в отдаленной оболочке:

ssh user@remote.de -t "cd /home/h/usr/praktikum && git pull && sbatch run.sh"
0
27.01.2020, 22:02

Конвейеры(|)используются для соединения входов и выходов нескольких команд в конвейер. Команды выполняются независимо и одновременно друг с другом, за исключением случаев, когда они ожидают появления ввода или чтения вывода. Вот почему cdне влияет на текущий каталог команд gitи sbatch. Вы не хотите использовать конвейер здесь.

То, что вы хотите сделать, это

ssh user@remote.de 'cd /home/h/usr/praktikum && { git pull; sbatch run.sh; }'

Что это будет делать, так это cdв указанный каталог, и если это пройдет успешно (каталог существует и у вас есть права доступа к нему ), запускаются команды gitи sbatch.

В приведенной выше команде sbatchбудет выполняться независимо от состояния выхода git pull. Если вы хотите избежать запуска sbatch, если gitпо какой-либо причине не работает, используйте

.
ssh user@remote.de 'cd /home/h/usr/praktikum && git pull && sbatch run.sh'
3
27.01.2020, 22:02

Теги

Похожие вопросы