msoliver
(usa Debian)
Enviado em 10/08/2023 - 18:11h
Minions escreveu:
@alexabolada
O comando não funciona com "nome composto" como resolver?
ls -1 /opt/ | yad --list --title="Menu" --text="O que deseja fazer?" --column "Opção" --width="300" --height="215" --button=gtk-ok:0 $(while read; do echo $REPLY; done)
Para resolver o "problema" de "nome composto",
Use o fd (descritor de arquivos).
Exemplos:
ls -1 Com*
'Com espaço00.txt'
'Com espaço01.txt'
'Com espaço02.txt'
Erro
for arq in $(ls -1 Com*);do echo "$arq";done
Com
espaço00.txt
Com
espaço01.txt
Com
espaço02.txt
Solução:
exec 3< <(ls -1 Com*);while read line <&3; do echo $line;done;exec 3<&-
Com espaço00.txt
Com espaço01.txt
Com espaço02.txt
Outro:
exec 3< <(ls -1 Com*);cat <&3;exec 3<&-
Com espaço00.txt
Com espaço01.txt
Com espaço02.txt
Uma outra opção...
Altere o IFS;
orgifs="$IFS";IFS='';for arq in $(ls -1 Com*);do echo ${arq};done;IFS="$orgifs"
Com espaço00.txt
Com espaço01.txt
Com espaço02.txt
#FICA_A_DICA
______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________