Se não houver nenhum arquivo *.txt
, a string permanecerá não expandida como está e o loop será inserido. Para evitar isso, defina a opção nullglob
.
shopt -s nullglob
Eu tenho um pequeno script que se parece com isso:
#!/bin/sh
for f in ./*.txt
do
f=$(basename $f)
echo "Processing $f"
scp somewhere
mv $f done/'basename $f'
done
Isso está funcionando perfeitamente, mas assim que não restarem arquivos, isso gerará esse erro: *.txt: No such file or directory
Eu estou querendo saber por que ele entra no loop e como eu posso fazer isso (sem um novo se talvez?)
Tags bash bash-scripting