Eu não estou familiarizado com a expansão de variáveis no bash. O que estou tentando fazer é:
Eu tenho uma pasta com muitos PDFs, que eu quero encolher em tamanho. O comando para um PDF 'foo.pdf' seria:
pdfsizeopt.py foo.pdf foo.pdf
Como fazer isso para todo o pdf na pasta com o comando bash?
for i in *.pdf; do pdfsizeopt.py $i.pdf $i.pdf; done
Mas o pdfsizeopt.py reclama, não havia pdf.
Não há nomes de arquivos com espaços.
EDITAR:
Graças a John ! A linha funciona! Se eu colocar em um makefile, não (porque não tenho idéia de tais coisas):
compile:
for i in *.pdf; do pdfsizeopt.py "$i" "$i"; done
Eu recebo:
for i in *.pdf; do pdfsizeopt.py "" ""; done
info: This is pdfsizeopt.py rUNKNOWN size=316003.
info: using Java for Multivalent: /usr/bin/java
info: loading PDF from:
Traceback (most recent call last):
File "/home/AW/bin/pdfsizeopt/pdfsizeopt.py", line 7835, in <module>
main(sys.argv)
File "/home/AW/bin/pdfsizeopt/pdfsizeopt.py", line 7797, in main
).Load(file_name)
File "/home/AW/bin/pdfsizeopt/pdfsizeopt.py", line 3440, in Load
f = open(file_data, 'rb')
IOError: [Errno 2] No such file or directory: ''
make: *** [compile] Fehler 1