Estoy corriendo un poco de Perl script de terceros escrita de tal manera que se requiere un archivo de salida para la salida de la bandera, -o.
Desafortunadamente, el script parece requerir un archivo real, es decir, los usuarios deben crear un archivo vacío filename.txtcon 0 bytes y luego ingresar este archivo vacío en la línea de comando del script
perl script1.pl -o filename.txt
Pregunta: ¿Cómo crearía un archivo vacío dentro de un script bash? Si uno simplemente lo intenta perl script1.pl -o filename.txt, el script da un error de que el archivo no existe.
bash
shell-script
shell
files
ShanZhengYang
fuente
fuente

touch filename.txtRespuestas:
Usa el
touchcomando.touch filename.txt.fuente
echo -n >fileUtilice el comando nulo (
:) redirect (> filename) trick (:>), ya que esto se truncará a cero o creará el archivo con nombre.(Esto fallará si el shell establece una opción NOCLOBBER).
fuente
>|a clobber, así:>| filea, documentado en el manual> filename.txtlo haría, no hay necesidad de:. O>> filename.txtsi no queremos tirarlo a la basura si es que existe.:hace que el script sea más probable que cumpla su tarea con otros shells, por ejemplo, Zsh.Siempre puedes usar perl, también.
fuente