我花了一些时间来定制我的配置,例如many people do。基本上我从git存储库中将所有的dotfiles(.zshrc,.vimrc,...)符号链接,然后我改变了很多东西。
我使用的是Mac OS X,配置非常好。但是当我在Linux(Ubuntu)上使用相同的dotfiles时,我会遇到一些不同。他们中的大多数都是微小的差异,但非常烦人。
我使用 ZSH 和 prezto
当我cd
时,我收到此消息
20:17 ~ ❯ cd Projects
script: invalid option -- 'G'
Usage:
script [options] [file]
Options:
-a, --append append the output
-c, --command <command> run command rather than interactive shell
-r, --return return exit code of the child process
-f, --flush run flush after each write
--force use output file even when it is a link
-q, --quiet be quiet
-t, --timing[=<file>] output timing data to stderr (or to FILE)
-V, --version output version information and exit
-h, --help display this help and exit
类型命令(type cd
)给我
cd is an alias for nocorrect cd
cd is a shell builtin
我在这里发帖是为了知道是否有人知道调试此类错误的方法。错误信息不是很清楚,我不知道在哪里以及在哪里寻找。
有什么想法吗?
我的大多数配置来自许多其他人的配置。
答案 0 :(得分:1)
Ubuntu的解决方案:找到此代码行所在的脚本script -q /dev/null ls -G .
并将其更改为script -q /dev/null -c 'ls -G .'
在我的情况下,它是 prompt_paulmillr_setup ,但这取决于您使用的ZSH扩展程序。
答案 1 :(得分:0)
通常,您可以使用参数zsh
启动-x
进行调试。这将回显此shell在执行之前运行的任何shell代码行。这有助于找到配置中的错误位置。
在这种情况下,您会收到来自script
的错误消息,因为除了所有可用选项的列表之外,它没有选项'G'
(请尝试比较script -G
)。命令行工具在不同的Unix衍生产品之间通常有很大不同,包括命令行选项的数量和含义。在您的平台之间比较man script
。
由于cd
是nocorrect cd
的别名,nocorrect
似乎是最可能的罪魁祸首。要检查,请运行unalias cd
。如果问题消失,请执行type nocorrect
并从那里开始。
如果问题仍然存在,请搜索chpwd
的配置(这可能是功能定义或类似add-zsh-hook chpwd SOMETHING
的行)。