Übergeben Sie den Parameter für ein Shell-Skript, aber warum gibt es zwei Werte?
350
richard20427176
Ich habe einige Probleme mit einem Shell-Skript. Bitte helfen Sie mir.
Ich erstelle eine Shell-Skriptdatei mit dem Namen 'deploy.sh'. Jedes Mal, wenn ich dieses Skript mit einem Parameter aufrufe, sieht es aus wie '20180208', '20180214' (JJJJMMdd-Datumsformat) ... etc.
# sh deploy.sh 20180208
Der Inhalt für die Shell wie folgt (ich habe ein paar Zeilen für den Test geschrieben, aber ich habe die Probleme gefunden):
#! / bin / sh # DEFINIEREN UPLOAD_DATE = $ 1 # AUSGABE SH_LOG = / home / jin.huang / logs / execsh.log Bereitstellen () { Echo $ 1 echo $ UPLOAD_DATE } Stellen Sie >> $ SH_LOG bereit
Also habe ich 20180208 an deploy.sh übergeben, aber ich habe zwei Ergebnisse für $ 1 erhalten:
Echo $ 1
Echo "$ 1"
diese werden auf dem Bildschirm leer angezeigt;
echo $ UPLOAD_DATE
echo "$ UPLOAD_DATE"
diese drucken '20180208' auf dem Bildschirm.
Warum gibt es zwei Ergebnisse?
Wenn ich es richtig verstanden habe, ist das Skript "$ 1" nicht die gleiche Funktion "$ 1". Sie können Parameter für Funktionen innerhalb des Skripts übergeben. `Deploy" $ 1 "` übergibt das Skript "$ 1" an die Funktion.
Paulo vor 6 Jahren
0
0 Antworten auf die Frage
Verwandte Probleme
-
2
Legen Sie Umgebungsvariablen in einer Bash-Shell fest
-
6
Lassen Sie mich unter DOS einen alternativen Befehl für den folgenden Unix-Befehl kennen
-
7
Das Durchlaufen von 'ls' führt zu einem Bash-Shell-Skript
-
6
Einen Linux-Prozess im Hintergrund starten
-
3
Wie starte ich ein bash-Skript aus dem Finder in OS X?
-
4
So implementieren Sie ein flüchtiges "Benutzerprofil"
-
2
Wie kann ich die Ausgabe eines Shellskripts nehmen und in eine Datei in der Befehlszeile einfügen?
-
6
Eine bessere Möglichkeit, nach einer Zeichenfolge in einer Datei zu suchen?
-
10
Batch-Konvertierung von PNG in JPG in Linux
-
2
Wie finde ich alle Softlinks (symbolische Links) im aktuellen Verzeichnis?