Ich nehme an, Sie müssen es wie folgt in Anführungszeichen einpacken:
#! /bin/bash # some script here shift cm2 "$@"
Ich benutze den Befehl:
cm1 cm2 arg1 arg2 'argument 3'
Es geht zuerst an cm1
, die dann arg1 arg2 'argument 3'
zu einer anderen Datei umgeleitet wird.
/usr/bin/cm1
:#! /bin/bash # some script here shift cm2 $@
/usr/bin/cm2
:echo $# # This returns 4 in lieu of 3 because the white space in 'argument 3' causes the argument to be split into two arguments.
Wie kann ich also Argumente von einem Skript an ein anderes übergeben und sicherstellen, dass Leerzeichen nicht als Trennzeichen für Argumente gelesen werden?
Ich nehme an, Sie müssen es wie folgt in Anführungszeichen einpacken:
#! /bin/bash # some script here shift cm2 "$@"