Я запускаю какой-нибудь сторонний скрипт на Perl, написанный так, что для выходного флага требуется выходной файл -o
.
К сожалению, для сценария требуется фактический файл, то есть пользователи должны создать пустой файл filename.txt
с 0 байтами, а затем ввести этот пустой файл в командной строке сценария.
perl script1.pl -o filename.txt
Вопрос: Как мне создать пустой файл в скрипте bash? Если кто-то просто пытается perl script1.pl -o filename.txt
, скрипт выдаст ошибку, что файл не существует.
bash
shell-script
shell
files
ShanZhengYang
источник
источник
touch filename.txt
Ответы:
Используйте
touch
команду.touch filename.txt
,источник
echo -n >file
Используйте команду null command (
:
) redirect (> filename
) trick (:>
), так как она усекается до нуля или создает именованный файл.(Это не удастся, если оболочка установит параметр NOCLOBBER.)
источник
>|
колошматить, так:>| filea
- документированный в руководстве> filename.txt
сделал бы, не нужно:
. Или>> filename.txt
если мы не хотим уничтожить его, если он действительно существует.:
делает сценарий более вероятным для выполнения своей задачи с другими оболочками, например Zsh.Вы также всегда можете использовать Perl.
источник