当我写这样的shell脚本时:
echo -n 'Enter description of new version: ';
read desc;
git commit -m $desc;
当我输入多字描述时,它只需要一个字进入$ desc 并给我错误:
Enter description of new version: hope it works
error: pathspec 'it' did not match any file(s) known to git.
error: pathspec 'works'' did not match any file(s) known to git.
fatal: too many params
有时它会给出:
Enter description of new version: final check
error: pathspec 'check'' did not match any file(s) known to git.
fatal: Failed to resolve 'check'' as a valid ref.
Everything up-to-date
我的脚本有什么问题?
请建议从命令行读取多字描述到变量$ desc
的原因和解决方案我尝试过使用:
echo -n 'Enter description of new version: ';
read text;
desc="'"$text"'";
git commit -m $desc;
但没用。
提前谢谢
答案 0 :(得分:3)
你需要引用:
git commit -m "$desc"
区别在于:
git commit -m hope it works
和
git commit -m "hope it works"
第一个尝试使用消息it
提交文件works
和hope
,而后者使用消息hope it works
提交索引。