mv :не может указать «имя файла» нет такого файла или каталога

Наконец-то я нашел ответ благодаря этому сообщению на StackExchange! Иногда для поиска решения требуются другие ключевые слова, поэтому я отвечу на этот вопрос на случай, если сюда попадут другие ребята.

В двух словах

Автоматически вставлять команды на экран с помощью команды bash:

screen -x screen_name -p 1 -S stuff 'executable_script1.sh\n'

, где -p 1относится к экранному процессу 1$. Обратите внимание, что \nв конце команды обязателен, как и при нажатии клавиши ввода после вставки командной строки.

Подробные шаги

1 )Создайте сеанс screen, в котором вы хотите работать, (с именем «экран _имя»):

screen -S screen_name

с достаточным количеством процессов для всех команд (в моем примере, 0$ htopплюс 2 процесса:1$и 2$). Обратите внимание, что вы можете отредактировать .screenrcв своем домашнем каталоге, чтобы сеансы экрана начинались с заданным количеством процессов по умолчанию. Для этого примера мой .screenrcсодержит:

screen -t htop
screen -t 
screen -t 

2 )Создать файлы bash для каждой группы команд,для выполнения различными экранными процессами.

Здесь у меня есть 2 файла, screen1содержащие:

#!/bin/bash

screen -x screen_name -p 1 -X stuff 'executable_script1.sh\n'
screen -x screen_name -p 1 -X stuff 'mv executable_script1 directory1\n'

и screen2, содержащие:

#!/bin/bash

screen -x screen_name -p 2 -X stuff 'executable_script2.sh\n'
screen -x screen_name -p 2 -X stuff 'mv executable_script2 directory1\n'

3 )Вставьте сразу все свои команды в терминал с помощью:

bash /path_to_screen1/screen1 & /path_to_screen1/screen2 &

Вы можете немедленно закрыть этот терминал, даже если у вас есть длительные вычисления, так как все, что он делает, это вставляет команду в screen. Вручную откройте сеанс screen, чтобы убедиться, что эти строки выполняются.

Излишне говорить, что если у вас есть большое количество команд для передачи во многие экранные процессы, вы можете создать файлы bash и вставить команды (шаги 2 и 3 )с помощью скрипта (с помощью python, например ). Также executable_script1.shможет содержать вызовы python, если необходимо, с python python_script.py, как в обычном терминале.

Надеюсь, это поможет другим!

0
10.11.2021, 13:34
0 ответов

Теги

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