Ich versuche, ein Bash-Skript zu schreiben, die an das Skript übergebenen Argumente analysiert:Azure bash CLI Unterstützung während und tun
while [[ $# -gt 0 ]]
do
case $1 in
-n|--name)
VMNAME="$2"
shift
shift
;;
-a|--admin-user)
ADMINUSERNAME="$2"
shift
shift
;;
-l|--location)
LOCATION="$2"
shift
shift
;;
-g|-resource-group)
RESOURCEGROUPNAME="$2"
shift
shift
;;
-a|--availability-set)
AVAILABILITYSETNAME="$2"
shift
shift
;;
*) # unknown option
echo unknwon "$1"
shift # past argument
;;
esac
done
echo "vn name = "
echo $VMNAME
echo "Admin User = " $ADMINUSERNAME
echo "Location = " $LOCATION
echo "Resource Group = " $RESOURCEGROUPNAME
echo "Availability Set = " $AVAILABILITYSETNAME
Dies funktioniert gut, wenn ich in meinem Linux-vm ssh und das Skript ausführen. Wenn ich versuche, das Skript von meinem Azure CLI auszuführen bekomme ich folgende Fehler:
[email protected]:~/clouddrive$ bash test.bash -n test
test.bash: line 1: syntax error in conditional expression
'est.bash: line 1: syntax error near `]]
'est.bash: line 1: `while [[ $# -gt 0 ]]
Wie unterscheidet sich die Azure CLI aus dem Linux-Bash-Shell in Bezug auf die es Programmiersprache unterstützt? Welche Art von Programmierkonstrukten und Ablaufsteuerung wird in der Azure Bash CLI unterstützt?
Neuvon fehler! Vielen Dank! – Jeremy