1

次のようなbashスクリプトを作成しようとしています:

  1. すべての変更を git に追加する
  2. bash スクリプトに渡すメッセージでコミットします
  3. レポにプッシュする

私はこれをやろうとしています:

m=\"$*\"
git add -A
echo git commit -m $m
git push

error: pathspec 'Q2,' did not match any file(s) known to git.しかし、スクリプトに渡すすべての単語について言っているエラーが発生しています。

実際に実行しているbashを確認するにはどうすればよいですか? 問題のある行の前に置くechoと(コミットだと思います)、正しい形式のコマンドが得られます。ターミナルに入れると、find を実行します。

4

1 に答える 1

4

bash の動作を確認する-xvには、シバン行にオプションを追加します。

#!/bin/bash -xv

問題はおそらく引用です。m=\"$*\"あなたが望むことをしません。$m空白が含まれている場合でも、いくつかの単語に分割されます。最初の単語だけが二重引用符で始まり、最後の単語が二重引用符で終わります。

むしろ、問題のある行を次のように変更します

git commit -m "$m"
于 2013-02-16T20:13:31.193 に答える