我公司的一些脚本调用一些函数,如hdfs
、 或cat
、echo
等。
有时,它是通过以下方式完成的:
echo "something"
其他时间通过:
/usr/bin/echo "something"
如果有的话,这两种使用命令的方式有什么区别?
答案1
PATH
您可以使用名为 的环境变量(由冒号分隔的目录列表)告诉登录会话在哪里查找可执行文件。
它有一定的价值默认设置,像这样:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
你也可以添加您自己的目录,例如:
PATH="$HOME/bin:$PATH"
这些目录中的所有可执行文件都可以仅使用其名称从任何地方直接执行。echo
位于这些目录之一中。要找出具体运行位置:
$ which echo
/bin/echo
在某些情况下,使用可执行文件的完整路径可能很有用,因为PATH
变量可能会因环境而异。这可能会导致问题,例如通过 cron 调用脚本时。