就bash脚本的路径而言,在Linux中使用Linux命令的最佳和最正确的方法是什么?仅依靠外壳路径使用ip addr show
是正确的吗?还是我应该先找到命令的路径(例如whereis ip
或command -v ip
),将输出分配给某个变量,然后然后用那个?
答案 0 :(得分:4)
我个人只是依靠PATH并调用“裸”命令。
如果您不信任用户的PATH,可以将其重置为最小默认值:
str1
答案 1 :(得分:-2)
我倾向于在实用程序的顶部设置实用程序的路径,以避免对PATH的任何依赖。一种潜在的攻击方法是在运行bash脚本之前设置PATH。为每个实用程序设置路径是很痛苦的,但是它可以防止此类攻击。
如果您要创作的多个环境中的实用程序位于不同的位置,例如Debian和MacOS,例如,我检查路径。
[ -f /usr/bin/grep ] && GREP=/usr/bin/grep || GREP=/bin/grep