我在本地电脑上安装了 ubuntu 16.04,我正在尝试使我的工作环境与我在工作中的配置方式相似
为了实现这一点,我想使用相同的 tcshrc 文件(是的,我们使用 tcsh,不知道为什么......)
无论如何,当我尝试打开一个 tcsh 终端(或为此提供源 ~/.tcshrc )时,我收到了一个错误:
set: Variable name must begin with a letter.
试图找出原因我发现下一行足以导致它
#!/bin/tcsh
echo 0
set history = 2000 # this line is not the cause, verified by echoing
echo 1
set savehist = (2000 merge)
echo 2
输出:
0
1
set: Variable name must begin with a letter.
当我尝试将 set savehist = (2000 merge)作为常规 shell 命令运行时,终端不会显示任何错误。
当然,在我的工作中,tcshrc 工作正常。在两者中我都安装了 tcsh 6.18.01
欢迎任何帮助
谢谢
正如 ilkkachu在这里回答的那样,我的 .tcshrc 无法正常工作的原因是在我通过电子邮件发送的原始 .tcshrc 中添加了一些隐藏字符。使用
od -c .tcshrc
清楚地显示了鬼鬼祟祟的字符,一旦删除,一切都按预期工作