Nějak nechápu, proč to děláš tak složitě. Zkusím to trochu zjednodušit:
...
Tohle by mělo fungovat. Proč vlastně vytváříš ty pracovní soubory? Jde to i bez nich.
zjednodušení je fajn a funguje stejně
- bohužel z nějakého mě neznámého důvodu načítá pouze první řádek - když zakomentuju řádek s sh příkazem a napíšu místo toho "vypsat řádek", tak vypíše všechny
začal jsem s tím
takhle.
jednou z možností bylo, zkopírovat ten cyklus mnohokrát, pro každou příponu, což jsem si ale říkal, že to musí jít jinak lépe. Nepodařilo se mi s tím vypořádat bez pracovního souboru (potíže s mezerama), tak to zkouším takhle.
Prvni skript je v bashi a druhy je v cem? Volas tam 'sh', ja bych typoval ze tam taky chces volat 'bash'. Ten shell skript .sh to tedy provede jen jednou? Jaka je navratova hodnota? Co ten skript dela? Provede ho to do konce nebo jen z casti?
Podle me to vypada ze ten skript vrati nenulovou navratovou hodnotu a to tvuj skript ukonci, chtelo by to tohle ve tvem skriptu zakazat, ale ja to umim jen zapnout (set -e), nevim jak to vypnout.
Jinak pro debug doporucuju hned na zacatku bash skriptu napsat 'set -x', hezky to vypisuje ktere prikazy se zrovna provadi.
ten script mi poradili
tadychceš-li můžeš se na něj podívat
tadyale i tak, druhý script volá
#!/usr/bin/env basha výpis se
set -x:
miki@ip-94-113-122-100:/Disks/Sdb/Videa> sh ~/Dokumenty/ScriptyBASH/pokus.sh
+ zapis=./zapis.txt
+ zapisOld=./zapisOld.txt
+ zapisBackUp=./zapisBackUp.txt
+ '[' -e ./zapis.txt ']'
+ find . -maxdepth 1 -iname '*.avi' -or -iname '*.mkv' -or -iname '*.mp4' -or -iname '*.wmv' -or -iname '*.divx' -or -iname '*.mpg' -or -iname '*.mpeg'
+ read line
+ sh /home/miki/Dokumenty/ScriptyBASH/vcs-1.12.2.sh -n 21 -c 3 -H160 './video.mkv'
Video Contact Sheet *NIX v1.12.2, (c) 2007-2010 Toni Corvera
Processing ./video.mkv...
Detected video length can't be reached. Safe measuring enabled.
Starting safe length measuring (this might take a while)...
... trying 293.579
Capturing in range [00:13.21-04:37.43]. Total length: 04:53.58
Generating capture #1/21 (00:13.21)...
Very small timestamps in use. Disabling them with -dt might be preferable
Generating capture #2/21 (00:26.42)...
...
Generating capture #21/21 (04:37.43)...
Composing standard contact sheet...
Adding header and footer...
Done. Output wrote to video.mkv-2.png
Cleaning up...
+ sleep 1s
+ read line
+ mv ./zapis.txt ./zapisBackUp.txt
Á zatímco píšu:
Mam podezreni, ze problem je podobny tomuto: http://www.abclinuxu.cz/poradna/programovani/show/330284
Zkuste presmerovat stdin na /dev/null:
sh $HOME/Dokumenty/ScriptyBASH/vcs-1.12.2.sh -n 21 -c 3 -H160 "$line" < /dev/null
je to trochu zvláštní, ale je to tak - no faktem je, že ten
vcs script ke své práci volá ffmpeg, nebo mplayer