[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: BASH
[Thread Prev] | [Thread Next]
- Subject: Re: BASH
- From: Thomas Stiefel <Tom@xxxxxxx>
- Date: Wed, 06 Nov 2013 09:25:42 +0100
- To: uugrn@xxxxxxxxxxxxxxx
Am 04.11.2013 17:36, schrieb Werner Holtfreter: > Den Systempfad wollte ich nicht fest ins Script schreiben, aber mit > obigem ist es perfekt. Daher sollte man den Systempfad immer nur mit dem eigenen Pfaden erweitern (PATH=<eigener Pfad>:$PATH). Wenn man einen festen Pfad fuer eigene Scripte hat (z. B. /data/bin) dann kann man diesen auch in der eigenen ~/.bashrc auch dauerhaft hinzufuegen - wobei $HOME/bin bei einigen Distris inzwischen automatisch hinzugefuegt wird. PATH=/data/bin:$PATH > Noch ein Problem. Dem Script wird ein Aufrufparameter uebergeben > > #!/bin/bash -e > PATH=${PATH}:~/Dokumente/Lin64 > wav2bin $1 ${1%%.*}1.bas > ... > > vor dem Start gehe ich ins Verzeichnis, wo die zu bearbeitenden Dateien > liegen: > > werner@zuse ~/Dokumente/Computer/Sharp1403/4 $ > > und starte dort das Script: > > ~/Dokumente/Computer/Sharp1403/PC.Programme/PocketTools/Lin64/wav2bas2wav.wh.sh * Wenn 4 Dateien in deinem Verzeichnis liegen, dann fuehrt dein * im Endeffekt zu "wav2bas2wav.wh.sh Datei1 Datei2 Datei3 Datei4" und das beudetet fuer dein Script letztlich: wav2bin Datei1 ${1%%.*}1.bas > Ich will erreichen, dass es mehrfach, mit allen im Verzeichnis > befindlichen Dateien aufgerufen wird. Es wird aber nur die erste Datei > abgearbeitet. Wie gehts richtig? Besser waere: for dat in $@ do wav2bin $dat... ... done Ich wuerde dir empfehlen den Verzeichnisnamen als Parameter zu uebergeben und dann im Script selber die zu verarbeitenden Dateien auslesen. Vereinfacht etwa so: #!/bin/bash -e PATH=${PATH}:~/Dokumente/Lin64 cd $1 for dat in $(ls *) do wav2bin $dat... ... done In allen Faellen wirst du aber auf Fehler laufen, wenn die Dateinamen Leerzeichen enthalten. Gruss Tom -- UUGRN e.V. http://www.uugrn.org/ http://mailman.uugrn.org/mailman/listinfo/uugrn Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste Archiv: http://lists.uugrn.org/