Mein Standardargument funktioniert im Bash-Skript nicht

Mein Standardargument funktioniert im Bash-Skript nicht

Zielsetzung: eine Standardnachricht in meinem Skript festlegen, um Commits in Richtung Bitbucket zu verarbeiten

Problem: meine Konsole gibt mir einen Fehler zurück

Aufgrund meiner Google-Suchergebnisse habe ich das folgende Skript ausprobiert:

commit_message=${1:"checkpoint commit"} 
git add .
git commit -m $commit_message
git push origin 

Wie gesagt, es wird mir ein Fehler zurückgegeben, der hier wiedergegeben ist:

nichts zum Commit hinzugefügt, aber nicht verfolgte Dateien vorhanden. Fehler: Src-Refspec-Handle stimmt mit keinem überein. Fehler: Src-Refspec-ProgrammaticScrolling stimmt mit keinem überein. Fehler: Src-Refspec-Anpassung stimmt mit keinem überein. Fehler: Pushen einiger Refs nach „fehlgeschlagen“.https://bitbucket.org/yyyyyyy.git'

Antwort1

Es handelt sich um ein kleines Syntaxproblem. In bashund anderen POSIX-kompatiblen Shells ist bei Verwendung eines Standardwerts nicht das das wichtige Trennzeichen, :sondern das -oder =.

commit_message=${1:-"checkpoint commit"} 
git add .
git commit -m "$commit_message"
git push origin

Dokumentation zu Standardwerten und alternativen Werten finden Sie hier:

verwandte Informationen