git --git目录="$HOME/.git/”--工作树="$HOME”状态-失败,并返回bash:无此文件或目录

h9vpoimq  于 2022-12-02  发布在  Git
关注(0)|答案(1)|浏览(127)

我在标题中遇到命令问题

[user ~]$ git init --bare $HOME/.git
[user ~]$ git --git-dir="$HOME/.git/" --work-tree="$HOME" status
bash: git --git-dir=/home/user/.git/ --work-tree=/home/user: No such file or directory

这发生在一个特定的linux机器上-另一个运行相同发行版的X11而不是Wayland可以很好地执行这行代码。
我已经尝试过重新安装git,但没有成功。
此时任何帮助都是非常感激的!

r1zk6ea1

r1zk6ea11#

在命令及其参数之间使用不间断空格,而不是常规空格:

$ od -a <<EOF
[user ~]$ git --git-dir="$HOME/.git/" --work-tree="$HOME" status
EOF
0000000   [   u   s   e   r  sp   ~   ]   $  sp   g   i   t   B  sp   -
0000020   -   g   i   t   -   d   i   r   =   "   /   h   o   m   e   /
0000040   k   n   i   t   t   l   /   .   g   i   t   /   "   B  sp   -
0000060   -   w   o   r   k   -   t   r   e   e   =   "   /   h   o   m
0000100   e   /   k   n   i   t   t   l   "  sp   s   t   a   t   u   s
0000120  nl
0000121

B sp应该只有sp
您也可以使用xxd来取得十六进制倾印:

$ xxd <<EOF
[user ~]$ git --git-dir="$HOME/.git/" --work-tree="$HOME" status
EOF
00000000: 5b75 7365 7220 7e5d 2420 6769 74c2 a02d  [user ~]$ git..-
00000010: 2d67 6974 2d64 6972 3d22 2f68 6f6d 652f  -git-dir="/home/
00000020: 6b6e 6974 746c 2f2e 6769 742f 22c2 a02d  knittl/.git/"..-
00000030: 2d77 6f72 6b2d 7472 6565 3d22 2f68 6f6d  -work-tree="/hom
00000040: 652f 6b6e 6974 746c 2220 7374 6174 7573  e/knittl" status
00000050: 0a

如您所见,命令及其参数之间有两个字节:c2 a0(不换行空格),但它应该是20(空格)。
您的命令必须是:

[user ~]$ git --git-dir="$HOME/.git/" --work-tree="$HOME" status

但您有:

[user ~]$ git --git-dir="$HOME/.git/" --work-tree="$HOME" status

你能看出区别吗?:)

相关问题