Фоновая задача запускается путем добавления &
в конце команды. Ваш цикл запустится konsole
в фоновом режиме, если вы запишете его как
for i in {1..5}; do
konsole -e "./program arg1 arg2" &
done
или в одной строке
for i in {1..5}; do konsole -e "./program arg1 arg2" & done
&
является терминатором команды, точно так же, как;
(и новая строка и некоторые другие ), поэтому он заменяет ;
, который у вас был изначально.
Если вы хотите, чтобы скрипт ждал завершения запущенных фоновых задач, добавьте wait
в конце:
for i in {1..5}; do konsole -e "./program arg1 arg2" & done; wait
мне помогло:
mv 12-34-5.txt 12\.34\.5.txt
синтаксис:mv
<old name>
<new name>
Я подозреваю, что вы генерируете дату так:
$ date -Idate
2020-12-09
Вы можете передать это в sed
, чтобы заменить -
на .
, используя:
$ date -Idate | sed 's/-/./g'
2020.12.09
Затем вы можете переименовать файл:
mv "$file" $(date -Idate | sed 's/-/./g')\ -\ "$file"
Поскольку это слишком многословно, вы можете просто создать функцию в~/.bashrc
:
function add-date {
mv "$1" $(date -Idate | sed 's/-/./g')\ -\ "$1"
}
Теперь продемонстрируем, как это работает:
$ touch file1
$ ls
file1
$ add-date file1
$ ls
'2020.12.09 - file1'