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.txt
con 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.txt
Respuestas:
Usa el
touch
comando.touch filename.txt
.fuente
echo -n >file
Utilice 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.txt
lo haría, no hay necesidad de:
. O>> filename.txt
si 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