Estou executando algum script Perl de terceiros, escrito de forma que exija um arquivo de saída para o sinalizador de saída -o
,.
Infelizmente, o script parece exigir um arquivo real, ou seja, os usuários devem criar um arquivo vazio filename.txt
com 0 bytes e inserir esse arquivo vazio na linha de comando do script
perl script1.pl -o filename.txt
Pergunta: Como eu criaria um arquivo vazio em um script bash? Se alguém simplesmente tentar perl script1.pl -o filename.txt
, o script emitirá um erro dizendo que o arquivo não existe.
bash
shell-script
shell
files
ShanZhengYang
fonte
fonte
touch filename.txt
Respostas:
Use o
touch
comandotouch filename.txt
.fonte
echo -n >file
Use o comando null (
:
) redirect (> filename
) trick (:>
), pois isso truncará para zero ou criará o arquivo nomeado.(Isso falhará se o shell definir uma opção NOCLOBBER.)
fonte
>|
para clobber, então:>| filea
- documentado no manual> filename.txt
faria, não há necessidade de o:
. Ou>> filename.txt
se não quisermos jogar fora, se existir.:
do script aumenta a probabilidade de realizar sua tarefa com outros shells, por exemplo, Zsh.Você também pode usar perl também.
fonte