В сценарии я получил следующий код из сценария ksh:
for log_file in `cat a_filename`
do
`echo mv from_directory/$log_file to_directory`
done
Может ли код быть
for log_file in `cat a_filename`
do
mv "from_directory/$log_file" to_directory
done
вместо этого?
Какая польза от использования эха с обратным апострофом?
Абсолютно никаких. Нет никакой причины использовать обратные кавычки в этом месте кода. И обратные кавычки в целом следует заменить на $(...)
, который лучше вкладывается и интуитивно обрабатывает цитирование.
Серьезно. Не пишите такой код.
Я вижу, откуда это могло взяться:
эхо
, чтобы «сделать это безопасным». Это позволило увидеть, какие команды будут выполнятьсябез риска перезаписать что-либо при тестировании. (Хорошая вещь)Смежный вопрос: Когда следует использовать $( ) в определении переменных