gpt4 book ai didi

linux - Win7 上的 MSYS2 在每个命令后打印 "Can' t find file"?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:15:41 28 4
gpt4 key购买 nike

我刚刚在我的 Windows 7 VM 上安装了 MSYS2,到目前为止我真正做过的唯一事情是我通过添加几行修改了我的 ~/.bashrc 文件。

我添加到文件中的唯一内容是一些别名命令、一个导出命令,并且我修改了 PS1 变量。见下文:

alias ll='ls -l'
alias la='ls -A'
alias cls='clear'
export PATH="$PATH:/home/Matt/bin"
PS1=$(print '\033]0;${PWD}\n\033[32m${USER}@${HOSTNAME}:\033[33m${PWD/${HOME}/\~}>\033[0m ')

除了上面的那些东西,这就是我真正完成的全部。因此,在对 ~/.bashrc 进行更改后,我退出了 MSYS2 的命令提示符,然后重新启动 MSYS2 以使 .bashrc 更改生效。 我知道我可以重新获取该文件,但我只是快速退出并重新启动...

然后,在我重新启动 MSYS2 之后,这打印为终端中的第一行 --> “找不到文件” 然后每次我按下回车键后cmd 提示它在下一个提示打印到屏幕之前打印“找不到文件”,如下所示:

Terminal shows this when I start-up MSYS2:
--------------------------------------------------------------------
Can't find file
Matt@My-Win7VM:~> ls -l
total 0
drwxr-xr-x 1 My-Win7VM+Matt My-Win7VM+None 0 Jun 3 12:01 bin
Can't find file
Matt@My-Win7VM:~>
Can't find file
Matt@My-Win7VM:~>
Can't find file
Matt@My-Win7VM:~>
--------------------------------------------------------------------

任何想法它可能在谈论什么文件,它似乎无法找到..?
任何想法或建议将不胜感激。

提前致谢,
马特

最佳答案

好的,我想我找到了问题所在。

我运行了 env 命令,PS1 环境变量显示了这个

PS1=Can't find file \033]0;${PWD}\n\033[1;31m${USER}@${HOSTNAME}:\033[1;34m${PWD/${HOME}/\~}>\033[0m

所以我从我的 ~/.bashrc 文件中删除了 export PS1=${print ...} 行,只是一个双引号变量赋值,而不是使用print 命令。

因为看起来 print 命令正试图从 "/c/Windows/system32/print" 运行,如果您向它传递一个字符串,您可以看到显示的错误:

$ which print
/c/Windows/system32/print

$ print "Hello World"
Can't find file Hello World

如您所见,该打印命令需要一个文件名,而不是一个字符串。因此,将其切换为如下所示的赋值语句,修复了错误:

export PS1="\033[1;31m${USER}@${HOSTNAME}:\033[1;34m${PWD/${HOME}/\~}>\033[0m "

现在一切正常

编辑:遇到新问题,当我切换目录时提示中的目录没有改变......发现我使用了错误的方法。所以我找到了 PS1 开关,现在一切都好起来了:

PS1="\033[1;31m\u@\h:\033[0m\033[1;34m\w>\033[0m "

-马特

关于linux - Win7 上的 MSYS2 在每个命令后打印 "Can' t find file"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30626211/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com