¿Qué hay de malo con el siguiente código?
name='$filename | cut -f1 -d'.''
Como es, obtengo la cadena literal $filename | cut -f1 -d'.'
, pero si elimino las comillas no obtengo nada. Mientras tanto, escribiendo
"test.exe" | cut -f1 -d'.'
en un shell me da la salida que quiero test
,. Ya sé que $filename
se le ha asignado el valor correcto. Lo que quiero hacer es asignar a una variable el nombre del archivo sin la extensión.
basename "$filename" .exe
. De lo contrario, los nombres de archivo con espacios serían malas noticias.
basename $filename .exe
Haría lo mismo. Eso suponiendo que siempre sepas qué extensión deseas eliminar.