如何在 Bash 中屏蔽股票命令

如何在 Bash 中屏蔽股票命令

我有一个经常从 CLI 运行的函数,因此我给它起了个简称t

$ which t
/home/dotancohen/.bin/t

$ cat `which t`
#!/bin/bash
ctags-exuberant -f php.tags --languages=PHP -R

$ ls -lh /home/dotancohen/.bin/t
-rwxr-xr-x 1 dotancohen dotancohen 316 Jan  3 16:58 /home/dotancohen/.bin/t

$ echo $PATH
/home/dotancohen/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/dotancohen/.rvm/bin

但是,当我尝试运行该程序时,我收到一条消息,提示我应该安装另一个也使用该名称的应用程序t

$ t
The program 'task' is currently not installed. To run 'task' please ask your administrator to install the package 'taskwarrior'

/home/dotancohen/.bin/t当我输入时如何运行 Bash t

答案1

这是因为您已经t将其定义为别名(或函数),您可以使用type内置函数找到它:

type -a t

别名,函数(和其他 shell 内置命令)优先于外部可执行文件。

t要从你的运行可执行文件PATH,请执行以下操作:

't'

或者

"t"

或者

\t

请注意,justt并不是一个好文件名称。

相关内容