gpt4 book ai didi

path - 在 $PATH 上查找命令

转载 作者:行者123 更新时间:2023-12-04 06:15:44 30 4
gpt4 key购买 nike

我正在编写脚本,我需要在用户的 $PATH 上查找命令并获取该命令的完整路径。问题是我不知道用户的登录 shell 是什么,或者他们的 do 文件中可能有什么奇怪的东西。我将 bourne shell 用于我的简单小脚本,因为它需要在一些可能没有 bash 的较旧的 Solaris 平台上运行。

"which"和 "whence"的一些实现将提供用户的点文件,这并不是真正可移植到所有用户。我喜欢一个简单的 UNIX 实用程序,它可以完成扫描 PATH 以查找可执行文件并报告第一个匹配项的完整路径的基本工作。

但我会满足于对所有用户稳定的任何/bin/sh 解决方案。

我正在寻找一种比编写我自己的/bin/sh 循环更好的解决方案,该循环将 $PATH 切碎并一次搜索一行。这似乎很常见,应该有一种可重用的方法来做到这一点。

我对“漫长的道路”的第一个近似是这样的:

   IFS=:
for i in $PATH; do
if [ -x $i/$cmd ]; then
echo $i/$cmd
fi
done

有没有更简单便携的东西?

最佳答案

答案似乎是内置的“类型”。

% /bin/sh
$ type ls
ls is /bin/ls

关于path - 在 $PATH 上查找命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7277680/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com