Hier ist der Einzeiler Ich habe Interesse an (vor allem in den Variablen out
):Angabe Operand innerhalb als bash Variable dirname echos
find ~ | head -3 | while read f; do out=$(dirname ${f}); echo ${out}; done
ich, bevor es diese Einzeiler Echo muß kochend in ein anderes Programm, aber es funktioniert nicht:
echo "find ~ | head -3 | while read f; do out=$(dirname ${f}); echo ${out}; done"
mit der folgenden Meldung:
dirname: missing operand
Try `dirname --help' for more information.
find ~ | head -3 | while read f; do out=; echo ; done
So verwende ich s ingle und doppelte Anführungszeichen:
echo "find ~ | head -3 | while read f; do out=$(dirname "'${f}'"); echo "'${out}'"; done"
, die ohne Fehler zurückgibt:
find ~ | head -3 | while read f; do out=.; echo ${out}; done
Aber $(dirname ${f})
nicht Echo als ist.
Irgendeine Idee, wie man es macht?
Die Variable ist nicht notwendig, aber wenn du gehst, es zu benutzen, Sie * müssen * die Erweiterung zitieren. – chepner