我正在尝试为我的 yocto linux 机器添加一些别名。出于测试目的,我将这些行添加alias ..='cd ..'
到alias ps='ps -A'
新创建的~/.profile
. 当我使用 ssh 登录我的设备时,同一文件中的环境变量会正确导出。别名已创建,但不起作用。
当我这样做时,..
它会输出: No such file or directory
,而ps
返回error: unsupported SysV option
和 ps 命令的用法。
的输出alias
是
'.='cd ..
's='ps -A
但是,别名似乎是正确的,正如我可以做的那样,unalias ..
或者unalias ps
相应的别名已被删除。
当我执行set -x
然后执行..
第一行时' cd '..
,第二行是与以前相同的错误消息。如果我ps
现在这样做,它会返回' ps '-A
. 所以问题很可能是奇怪的间距。我该如何解决?如果在 shell 中手动添加,相同的别名可以正常工作。
您的 ~/.profile 可能开始时混合了 Unix LF 和 Windows CR+LF 行尾,然后在文本编辑器处于仅 LF 模式下进行编辑(将 CR 显示为常规字符),现在它有 "回车”字符到处都是。最有可能是这样的:
只需从文件中删除所有 CR 字符,例如使用
sed 's/\r//g'
或 Vim 的:%s/\r//g
.