
У меня есть эта команда, которую я запускаю. Назовем ее foo
. Я могу выполнить ее foo
, не указывая полный путь, например foo
так:
$ foo
missing args
Я подозреваю, foo
что это скрипт bash, поэтому хочу посмотреть исходный код в foo
, но когда я это делаю, which foo
получаю стандартное сообщение об ошибке:
which: no foo in (/usr/local/bin ...removed for brevity ...)
Что дает?
решение1
Вы можете использовать type
встроенный аргумент, который указывает, как аргумент будет интерпретироваться при использовании в качестве имени команды, например, как функция, встроенный, двоичный (в разделе $PATH
)
$ f() { echo foo; }
$ type f
f is a function
f ()
{
echo foo
}
$ type type
type is a shell builtin
$ type grep
grep is /usr/bin/grep
$ alias z='echo zee zee'
$ type z
z is aliased to `echo zee zee'
Смотрите такжеПочему бы не использовать "which"
? Что же тогда использовать?для более подробного описания этой темы.