0
Ich habe eine bash script
, die einige command line args
und eine filename
als Inline-Parameter dauert. Ich kann den Inline-Parameter nicht lesen.Wie Inline-Parameter mit Befehlszeilenargumente im Bash-Skript lesen?
sh test.sh -a a -b b -c c < pwd.txt
test.sh
hat
if [ $# = 0 ]
then
echo $USAGE >&2
exit $STATUS_ERROR_FAIL
fi
# Parse command line options.
while getopts a:b:c: OPT;
do
case "$OPT" in
a)
a="$OPTARG"
;;
b)
b="$OPTARG"
;;
c)
c="$OPTARG"
;;
\?)
# getopts issues an error message
echo $USAGE
exit $STATUS_ERROR_FAIL
;;
esac
done
shift $((OPTIND-1))
echo "1=$1"
"Ich habe ein Bash-Skript" abhängig ist - Warum läufst du dann mit 'sh'? Das funktioniert so, wie ich es erwarte, was meinst du mit dem "Inline-Parameter"? OPTARG funktioniert gut. Könnten Sie bitte den Fehler, den Sie bekommen, beschreiben und ein Beispiel zeigen? – cdarke
OK, die Frage wurde bearbeitet - bitte überprüfen Sie die Änderung. Wo liefern Sie den Dateinamen in der Befehlszeile? In Ihrer vorherigen Version haben Sie 'test.sh' als Dateinamen angegeben. – cdarke
Ist deine Verwirrung '
cdarke