Ich versuche, ein kleines Skript zu schreiben, um Zweige für mich zu wechseln. Ich habe immer nur einmal in bash geschrieben. Im folgenden Code werden die if
s und elif
s übersprungen, und egal, was ich als $1
eingeben, überspringt es immer die else
. Ich habe mir verschiedene Beispiele angeschaut und nichts funktioniert, obwohl es sein sollte.Bash Control Flow springt zu anderen egal
#!/bin/bash
if [ "$1 " == "-p" ]
then
cd ui;
git checkout p_4.1;
cd ../services;
git checkout p_4.1;
cd ../application;
git checkout p_4.1;
cd ..;
elif [ "$1 " == "-b" ]
then
cd ui;
git checkout b_.1;
cd ../services;
git checkout b_.1;
cd ../application;
git checkout b_.1;
cd ..;
elif [ "$1 " == "-g" ]
then
cd ui;
git checkout g_.1;
cd ../services;
git checkout g_.1;
cd ../application;
git checkout g_.1;
cd ..;
elif [ "$1 " == "-j" ]
then
cd ui;
git checkout j_.1;
cd ../services;
git checkout j_.1;
cd ../application;
git checkout j_.1;
cd ..;
else
echo "No Command Known!"
fi
Ich habe absolut keine Ahnung, warum es nicht funktioniert.
Vielleicht möchten Sie sich 'case $ 1 in ...' oder 'getopt' oder' getopts' anschauen –