我有一个经常从 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
并不是一个好文件名称。