Remova as aspas em torno do seu comando truncate e use chaves ${i}
para indicar o final do nome da variável.
for i in {8..18}
do
truncate -s ${i}m rubbi${i}.txt
done
Eu criei este arquivo de comando. O objetivo é executar um loop de vários arquivos e redimensioná-los de 8 MB para 18 MB.
Esses arquivos são rubbi8.txt
, rubbi9.txt
, rubbi9.txt
, ... rubbi18.txt
Meu script é:
for i in {8..18}
do
"truncate -s $im rubbi$i.txt"
done
O resultado é:
./kk3.sh: line 4: truncate -s rubbi8.txt: command not found
./kk3.sh: line 4: truncate -s rubbi9.txt: command not found
./kk3.sh: line 4: truncate -s rubbi10.txt: command not found
./kk3.sh: line 4: truncate -s rubbi11.txt: command not found
Como posso configurar os argumentos para o comando truncate?
Obrigado ao jvb. O formato de comando correto é:
--- >
para eu em {8..18}
do
truncar -s $ {i} m rubbi $ {i} .txt
feito
Remova as aspas em torno do seu comando truncate e use chaves ${i}
para indicar o final do nome da variável.
for i in {8..18}
do
truncate -s ${i}m rubbi${i}.txt
done
As aspas farão truncate -s rubbi8.txt
(etc.) o nome do comando - com espaços e parâmetros como partes do nome do arquivo executável - que não existe.
Tags linux