ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

为什么我的别名会收到“/ bin / bash找不到命令”错误?

2019-08-14 07:06:02  阅读:15  来源: 互联网

标签:python bash vim



我使用多个python,我将python3别名为py:

alias py="/opt/python3.4/bin/python3"

我想在vim中运行python所以我写这个:

map <F9> :call SpecialCompileRun()<CR>
func! SpecialCompileRun()
    exec "w"
    if &filetype == 'python'
        exec '!time py %'                                                                                                                                                                               
    endif
endfunc

但是当我在vim中按F9时,它告诉我:

/ bin / bash py找不到命令

当我把py改为python3时,现在还可以,但我还是想知道为什么?

解决方法:

因为你定义它的方式py是shell别名,而Vim不知道(也不关心)shell别名.使用环境变量,可能是这样的:

$PY=/opt/python3.4/bin/python3
$export PY

然后在Vim:

...
exec '!time ' . fnameescape($PY) . ' %'
...

编辑:添加了fnameescape().如果$PY包含对Vim具有特殊含义的字符(f.i.#和%),则需要它.



标签:python,bash,vim

专注分享技术,共同学习,共同进步。

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有