просто удалите &
в конце
towhee towhee_input5 > output &
В оболочке &
означает включить фоновое выполнение, если вы хотите процесс для запуска на переднем плане, затем просто удалите его, и ваш скрипт будет работать, как только он закончится.
Если вы хотите запустить команду в фоновом режиме и дождаться ее, просто используйте wait
towhee towhee_input5 > output &
wait
continue your code...
, этого должно быть достаточно, хотя этот код будет ждать каждой команды, которую вы запускали в фоновом режиме раньше, Вы также можете использовать , подождите, $!
потому что $!
- это переменная, которая содержит PID самой последней фоновой команды, а встроенная команда wait
bash обычно используется с PID в качестве аргумента для ожидания определенного процесса.
cp /path/to/orig/foo /path/to/backup/foo.txt
cp
принимает исходный файл в качестве первого параметра и файл назначения в качестве второго параметра. Возможно, вы привыкли просто указывать каталог назначения, что разрешено, но вы также можете указать полный путь, чтобы одновременно переименовать файл назначения.
Команду cp
можно вызвать двумя способами: с исходным файлом и целевым каталогом и с исходным файлом и целевым файлом . Это отражено в разделе синопсиса команды в руководстве (man cp
):
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file target_file
cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file... target_directory
Секрет в том, что не существует файлов с -именами -расширениями. Файл -имя -расширение является концепцией CP/M, которая была принята в MS _DOS (как плохой клон CP/M ). В Unix их нет, это просто часть названия. Однако есть инструменты, помогающие в этом.
basename
:можно использовать для получения базового имени (без суффикса ). rename
:(Версия Ларри Уолла )хороша для переименования файлов. За то, что вы хотите.
( fileName=foo; cp -T "/path/to/orig/${fileName}" "/path/to/backup/${fileName}.txt" )
Для безопасности я добавил параметр -T
, его можно опустить (он есть не у всех cp
. Однако если вы сделаете ошибку (укажите каталог во 2-м аргументе ), то без него он скопирует файл в каталог.