Кроме того, принимая массив имен fnames=( a.txt b.txt c.txt ) можно использовать синтаксис for f in ${fnames[@]}; do echo $f; done.
–
08.09.2012, 22:12
2
Это верный это for fname in a.txt b.txt c.txt и for fname in "a.txt" "b.txt" "c.txt" привести к идентичным результатам?
– Andrew08.09.2012, 22:39
3
Andrew, да это верно. Они приведут к идентичному
– Ali Gangji08.09.2012, 23:29
4
Конечно, необходимо использовать for f in "${fnames[@]}"; do echo $f; done (с кавычками вокруг ${fnames[@]}) если fnames значения могли бы содержать пробел. И необходимо использовать "$f", особенно, если Вы делаете что-либо более сложное, чем echo (например, cat или cp). (И даже если Вы только делаете echo, необходимо использовать printf вместо этого.)
– Scott24.04.2016, 00:02
5
я думаю @user13742, должен быть также отмечен в ответе.
– Fallenreaper13.01.2018, 06:53
Я создал сценарий, который уничтожает процессы, если ЦП и/или использование памяти поражают 80%. Это создает список уничтоженных процессов, когда это происходит. Что я могу сделать для улучшения его? в то время как [1]; действительно повторите эхо...
У меня есть скрипт, который обрабатывает входные файлы и создает выходной файл. Я хочу, чтобы базовое имя каждого файла было частью выходного файла, но это не работает :в то время как IFS= читать -r строку делать tmp _заголовок=&...
Я знаю, что SHELL позволяет присваивать значение переменной непосредственно перед командой, так что работает IFS=" :" read a b c d <<< "$here _string"... Какой я была...
Я использую сервер keycloak, когда я запускаю эту команду: standalone.sh Эта команда запускает сервер, и я не могу его остановить, пока не выполню Ctrl- команда С. Я думал о запуске инструкции ...
Конечно, файл может быть открыт или не открыт. Однако дескриптор файла по определению относится к открытому файлу (верно?). (Ну, за исключением случаев, когда речь идет о чем-то кроме файла, как труба или что...
Я хочу запустить исполняемый файл main и перенаправить все выходные данные в / dev / null, тем временем я измеряю время его выполнения по времени и записываю результаты в runtime.out. Поскольку задача длинная, мне также нужно запустить ...
Я обращаюсь к циклу через каталог файлов и соответствую им regex, затем subsitute соответствующий символ: #somefile.txt %somefile.txt >somefile.txt # прибытие = (\% \> \#); для f в *; сделать...
fnames=( a.txt b.txt c.txt )
можно использовать синтаксисfor f in ${fnames[@]}; do echo $f; done
. – 08.09.2012, 22:12for fname in a.txt b.txt c.txt
иfor fname in "a.txt" "b.txt" "c.txt"
привести к идентичным результатам? – Andrew 08.09.2012, 22:39for f in "${fnames[@]}"; do echo $f; done
(с кавычками вокруг${fnames[@]}
) еслиfnames
значения могли бы содержать пробел. И необходимо использовать"$f"
, особенно, если Вы делаете что-либо более сложное, чемecho
(например,cat
илиcp
). (И даже если Вы только делаетеecho
, необходимо использоватьprintf
вместо этого.) – Scott 24.04.2016, 00:02