让bash忽略脚本中的bash关键字

让bash忽略脚本中的bash关键字,bash,keyword,Bash,Keyword,我在bash中有一个脚本,它使用HTK工具包。HTK工具使用的其中一个文件名为do,位于名为hmm\u 1/的目录中。现在,当我需要从HTK工具包中调用特定工具时,我会这样做: 一些HTK命令-H hmm\u 1/do-H hmm\u 1/等等。我刚刚注意到,gvim突出显示了上面命令中的do文件名,认为它是一个关键字。但是,它是一个文件名。我的问题是: bash会将其解释为关键字还是bash更清楚(这只是gvim的一个怪癖) 我怎样才能让bash“知道”一些变量名,尽管它们的名字像关键字一样是

我在
bash
中有一个脚本,它使用
HTK工具包
。HTK工具使用的其中一个文件名为
do
,位于名为
hmm\u 1/
的目录中。现在,当我需要从HTK工具包中调用特定工具时,我会这样做:

一些HTK命令-H hmm\u 1/do-H hmm\u 1/
等等。我刚刚注意到,
gvim
突出显示了上面命令中的
do
文件名,认为它是一个关键字。但是,它是一个文件名。我的问题是:

  • bash会将其解释为关键字还是bash更清楚(这只是gvim的一个怪癖)
  • 我怎样才能让bash“知道”一些变量名,尽管它们的名字像关键字一样是无害的,但它们不是,而是文件名 注意:我现在无法更改文件名。我将不得不回顾许多步骤


    我只是不知道如何表达这个问题。编辑问题行的帮助非常受欢迎。

    作为路径的一部分,关键字将被忽略。它们将仅在命令开头解释为关键字。最好简单地考虑<代码> GVM突出显示是一个小烦恼,而忽略它。

    作为路径的一部分,关键字将被忽略。它们将仅在命令开头解释为关键字。最好是简单地考虑<代码> GVM<<代码>的强调是一个小烦恼,而忽略它。

    < P>除了使用命令作为显式路径的一部分(如厄内斯特建议的,以及在您的情况下会做什么),您还可以使用
    命令
    内置来搜索
    $PATH
    变量中某些目录中的命令,忽略别名、shell函数和shell关键字:

    $ echo '#!/bin/bash
    > echo Hello World!' > ~/bin/do
    
    $ chmod u+x ~/bin/do
    
    ~/bin
    在我的路径中,因此这将正常工作:

    $ do
    bash: Syntaxfehler beim unerwarteten Wort `do'
    
    它不是,因为它是一个保留字。在其前面加上
    命令有助于:

    $ command do
    Hello World!
    
    与使用完整路径一样:

    $ ~/bin/do
    Hello World!
    

    除了使用该命令作为显式路径的一部分(如Ernest建议的,以及在您的情况下将做什么),您还可以使用
    命令
    内置来搜索
    $path
    变量中某个目录中的命令,忽略别名、shell函数和shell关键字:

    $ echo '#!/bin/bash
    > echo Hello World!' > ~/bin/do
    
    $ chmod u+x ~/bin/do
    
    ~/bin
    在我的路径中,因此这将正常工作:

    $ do
    bash: Syntaxfehler beim unerwarteten Wort `do'
    
    它不是,因为它是一个保留字。在其前面加上
    命令有助于:

    $ command do
    Hello World!
    
    与使用完整路径一样:

    $ ~/bin/do
    Hello World!
    

    @保罗:谢谢!这是有道理的@保罗:谢谢!这是有道理的!