我正在使用 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”
包含几个看起来与 shell 解释的字符相似但实际上是其他字符的字符。
第一—a
对-a
: 由于冲刺时间较长,不是解释为选项,但解释为文件名。-
此处使用标准破折号/减号 ( )。
第二个“$1”
vs "$1"
:您的签到评论字符串将被分成单独的单词,并且第一个和最后一个单词将用一个有趣的字符扩展。
在所有情况下,看起来您要么使用了不合适的编辑器来编写程序和脚本,要么从某个网站上复制粘贴了内容,而这些网站会造成这种混乱。您需要纯 ASCII 字符,因为它们直接在您的键盘上,而不是为人类设计的“漂亮打印”变体。如果有疑问,请从这里复制粘贴它们 :-)