Ich möchte/bin/bash (möglicherweise/bin/sh) mit der Option -f
an das Skript übergeben und von ihm behandelt werden. GenauVerwenden Sie Bash mit Skript-Text von stdin und Optionen von der Befehlszeile
while getopts f OPT
do
case $OPT in
"f") readonly FLG_F="TRUE"
esac
done
if [ $FLG_F ]; then
rm -rf $KIBRARY_DIR
fi
und wann sind diese Zeilen in einer Datei http://hoge.com/hoge.sh,
ich das tun kann, zum Beispiel,
wget http://hoge.com/hoge.sh
/bin/bash hoge.sh -f
aber
/bin/bash -f hoge.sh
nicht weiß ich, der Grund, aber ich möchte so tun,
wget -O - http://hoge.com/hoge.sh | /bin/bash
mit Option -f für hoge.sh nicht für/bin/bash
Gibt es gute Möglichkeiten, dies zu tun?
/bin/bash <(wget -O - http://hoge.com/hoge.sh) -f
gearbeitet. aber das ist nur für Bash Benutzer, oder?
BTW, Sie haben einige Zitate Fehler hier - versuchen Sie, Ihren Code über http://shellcheck.net/ –
Ohmy, .... danke für alles .. – kensuke1984
Auch, '-f 'ist nicht die einzige Möglichkeit, 'FLG_F' zu setzen; Der Wert kann von der Umgebung übernommen werden. Versuchen Sie 'FLG_F = TRUE bash hoge.sh'. Sie sollten den Wert von 'FLG_F' im oberen Bereich Ihres Skripts löschen, bevor Sie nach der Option' -f' suchen. – chepner