当我运行.bashrc创建别名时,别名中的a将替换为';

当我运行.bashrc创建别名时,别名中的a将替换为';,bash,alias,Bash,Alias,当我登录到shell时,我有一个.bashrc,它为我构建了多个别名 比如说 别名测试=“~/script/test” 此操作运行时,将创建以下别名: 'lias test='~/script/test' 由于某种原因,别名中的a被替换为一个,我不知道为什么。在.bashrc上运行dos2unix 现在,它有Windows换行符——这意味着每一行都有两个字符,和CR在打印时将光标发回行首(而LF将光标发回下一行);因此当打印到终端时,该行的alias输出末尾的,将显示在该行的开头。在值的末尾有一

当我登录到shell时,我有一个.bashrc,它为我构建了多个别名

比如说

别名测试=“~/script/test”

此操作运行时,将创建以下别名:

'lias test='~/script/test'


由于某种原因,别名中的a被替换为一个,我不知道为什么。

.bashrc
上运行
dos2unix


现在,它有Windows换行符——这意味着每一行都有两个字符,
CR
在打印时将光标发回行首(而
LF
将光标发回下一行);因此当打印到终端时,该行的
alias
输出末尾的
将显示在该行的开头。

在值的末尾有一个回车符,这是一个不可见的字符,在打印时将光标发送回当前行的开头……这使您的命令
aliastest='~/script/test'
的行为与
别名test='~/script/test'$'\r'
的行为相同。顺便说一句,
test
是一个不幸的名称选择,因为该名称也用于shell内置项……另一方面,这实际上是在您在bash标记wiki中提问之前首先要检查的内容