【发布时间】:2015-06-03 16:54:39
【问题描述】:
我刚刚在我的 Windows 7 虚拟机上安装了 MSYS2,到目前为止,我真正做过的唯一事情是通过添加几行来修改我的 ~/.bashrc 文件。
我添加到文件中的唯一内容是一些别名 cmd、一个导出 cmd,并且我修改了 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 后,这会打印为终端中的第一行 --> “找不到文件”,然后每次我按 Enter 键后在下一个提示打印到屏幕之前,它会在 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 文件中的 PS1 导出行切换为双引号变量赋值,而不是包含打印命令。因为看起来“打印”命令正试图从 "/c/Windows/system32/print" 运行,并且打印 cmd 需要一个文件名,而不是一个字符串。因此,将其切换为仅分配语句修复了错误...