Até onde eu sei, um nome de arquivo seguro e portátil pode consistir em aA-zZ 0-9 hífen e sublinhado apenas. Ao mesmo tempo, se nos afastarmos das práticas seguras de nomeação de arquivos, podemos usar caracteres como !
?
$
%
"
'
/
e assim por diante.
Minha pergunta é sobre aspas, isto é, "
e '
. Elas não são mais perigosas do que, por exemplo, $
ou /
? Por exemplo, se um nome de arquivo contém espaços e precisamos copiar tal arquivo, colocaríamos seu nome entre aspas:
cp "file with spaces" folder_without_spaces
E por isso eu me questiono: as aspas em um nome de arquivo não podem atrapalhar as aspas no código shell às vezes?
Por exemplo, você tem
aaa aaa ccc.txt
aaa "xxx" ccc.txt
e então você usa
for f in *.txt; do mv "$f" backup_dir; done
e então "Bam!" - algo quebrou. Nada está quebrado, na verdade, neste exemplo em particular (pelo menos no Zsh), mas espero que você tenha entendido o que eu quero dizer.