ich tun dies in der Regel:Bash passieren alle Argumente als ein zitierte Argument an einen anderen Befehl
git commit -m "My hands are typing words!"
Ich bin Gettin' müde, dass, so habe ich diese Partie:
@echo off
set var=%*
git commit -m "%var%"
, die als Werke :
commit.bat blah blah blah
So kann ich die -m
und die Zitate fallen, aber es fügt .bat
. Wenn ich die Dateierweiterung entferne, versucht Git Bash den Stapel als bash zu interpretieren. Also muss ich stattdessen die Bash-Syntax verwenden. Das ist in Ordnung, ich habe es versucht:
#!/usr/bin/bash
git commit -m "[email protected]"
Das funktioniert nicht, es übergibt Argumente als mehrere Argumente. Es ruft dies:
git commit -m My hands are typing words!
ich noch mehr Zitate hinzuzufügen versucht (git commit -m ""[email protected]""
), keine Wirkung.
Also, wie konvertiere ich alle Argumente in eine Zeichenfolge, die in bash an einen anderen Befehl übergeben werden kann?
Verwenden Sie '" $ * "' anstelle von '" $ @ "'. Aber um richtig zu sein, sollten Sie 'commit.sh 'blah blah blah" 'mit doppelten Anführungszeichen um Nachricht verwenden. – anishsane
Die Beseitigung der Notwendigkeit für die Zitate war mein Hauptziel, richtig oder nicht. –
Überprüfen Sie meine Antwort, warum Zitate wichtig sind ... Natürlich, wenn Sie sich nicht darum kümmern, können Sie den Mechanismus "$ *" verwenden. – anishsane