私は OSX を使用しており、ターミナルに一連の git コマンドを実行する機能を追加したいと考えています。そのため、以下のコードを使用してホーム ディレクトリに .bash_profile を作成しました。
# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH=/usr/local/bin:$PATH
export PATH="$PATH:"/Applications/microchip/xc8/v1.35/bin""
export PATH=$PATH:"/Applications/microchip/xc16/v1.25/bin"
export PATH="$PATH:"/Applications/microchip/xc8/v1.38/bin""
function lazygit() {
git add .
git commit —a -m “$1”
git push
}
ただし、このコードを実行すると、次のエラーが発生します。
Seths-Air:rpt04-recursion Seth$ lazygit "test of lazygit"
error: pathspec '—a' did not match any file(s) known to git.
error: pathspec 'of' did not match any file(s) known to git.
error: pathspec 'lazygit”' did not match any file(s) known to git.
Everything up-to-date
答え1
この線
git commit —a -m “$1”
シェルが解釈する文字に似ているが、実際には別の文字である文字がいくつか含まれています。
第一—a
対-a
:ダッシュが長いため、ないオプションとしてではなくファイル名として解釈されます。-
ここでは標準のダッシュ/マイナス ( ) を使用します。
2 番目の“$1”
vs "$1"
: チェックイン コメント文字列は個別の単語に分割され、最初と最後の単語は奇妙な文字で拡張されます。
いずれの場合も、プログラムやスクリプトを書くのに適さないエディタを使用したか、そのような改変を行ったサイトからコピー&ペーストしたかのどちらかのようです。必要なのは、人間向けの「きれいな印刷」バリアントではなく、キーボードに直接表示されるプレーン ASCII 文字です。疑わしい場合は、ここからコピー&ペーストしてください :-)