.zshrc $-上无法识别的条件

大卫

我试图将某些功能从旧的.bashrc移植到我的.zshrc中,并且遇到了在bash中有效的情况。

每当我远程登录到计算机时,我都会bash检查该$-变量以查看它是否是交互式的。如果是这样,我将启动一台emacs服务器(如果尚未运行)并转到我的代码目录。否则(例如,如果我要获取带有scp的文件),我将什么也不做。

这是一些代码:

if [[ $- -regex-match "i" ]]; then
    ps -u myusername | grep emacs > /dev/null
    if [ $? -eq 0 ]; then
        echo "emacs server already running"
    else
        emacsserver
    fi

    aliastocdtomydirectory
fi

这是zsh给我的错误:.zshrc:125: unrecognized condition:$-'`

有谁知道在使用时如何解决这个错误$-我试过引用它,将其包装起来,$(echo $-)但是没有一个起作用。提前致谢。

编辑:如果我将代码切换为:

if [[ $- =~ "i" ]]; then
    ps -u myusername | grep emacs > /dev/null
    if [ $? -eq 0 ]; then
        echo "emacs server already running"
    else
        emacsserver
    fi

    aliastocdtomydirectory
fi

我现在得到:.zshrc:125: condition expected: =~我不太确定zsh在这里解释不正确,因为我对zsh的shell脚本的语义不是很熟悉。有人可以向我指出如何在zsh中表达这种情况的正确方向吗?

切普纳

在中zsh,您无需理会$-,我认为主要是为了实现POSIX兼容性。

if [[ -o INTERACTIVE ]]; then
    if ps -u myusername | grep -q emacs; then
        echo "emacs server already running"
    else
        emacsserver
    fi

    aliastocdtomydirectory
fi

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

OSX Mavericks .zshrc无法来源

来自分类Dev

无法在zshrc中添加$ PATH

来自分类Dev

Mac上的.zshrc文件在哪里?

来自分类Dev

从桌面启动时,gvim管道无法读取zshrc

来自分类Dev

无法设置环境变量MEAN堆栈.zshrc

来自分类Dev

echo“ eval`dircolors $ {dircolorsdb}`” >>〜/ .zshrc无法正常工作

来自分类Dev

.zshrc快捷方式可在Arch上运行,但不能在Ubuntu上运行

来自分类Dev

在X会话上读取的.zshrc是否打开?/如何在X会话打开时执行脚本?

来自分类Dev

在Linux上,为不同的应用程序提供不同的.zshrc文件

来自分类Dev

BasicHttpBinding上无法识别的元素“ readerQuotas”

来自分类常见问题

〜/ .zshrc别名,带空格

来自分类Dev

从.zshrc导出PYTHONPATH无效

来自分类Dev

〜/ .zshrc别名,带空格

来自分类Dev

.zshrc和.zshrc-e有什么区别

来自分类Dev

zsh-区分源〜/ .zshrc和最初读取.zshrc的shell

来自分类Dev

无法识别的作者

来自分类Dev

无法识别的情况

来自分类Dev

找不到.zshrc中的命令

来自分类Dev

.zshenv或.zshrc中的PATH变量

来自分类Dev

未加载某些.zshrc设置

来自分类Dev

urxvt -e不提供.zshrc

来自分类Dev

首先使用什么,.bashrc或.zshrc?

来自分类Dev

`set -x`调试我的`.zshrc`

来自分类Dev

.zshrc配置,顺序重要吗?

来自分类Dev

NSNull isEqualToString:ObjC上无法识别的选择器

来自分类Dev

ffmpeg在Heroku上:无法识别的选项'preset'

来自分类Dev

FOS \ RestBundle,Symfony2上的“无法识别的选项”

来自分类Dev

browserLink上无法识别的表达式

来自分类Dev

NSNull isEqualToString:ObjC上无法识别的选择器