bash - 键入一个命令,该命令将打印系统上 `ls` 程序的绝对路径

标签 bash unix absolute-path

我正在寻找一个非常简单的命令来打印 ls 的绝对路径。我尝试了很多不同的方法,但似乎找不到正确的答案。该代码应该沿着 cd; pwd 行 如果有人能帮助我,我会很高兴!谢谢!

我的一些不成功的尝试:

ls pwd
ls; pwd
ls $PWD
cd; ls pwd

最佳答案

在 Bash 中,运行 type -p ls 。例如,在我的系统上:

$ type -p ls
/bin/ls

如果它不仅必须在 Bash 中运行,而且必须在任何 POSIX shell 中运行,请运行 command -v ls :

$ command -v ls
/bin/ls

或者,如果 command -v ...不起作用,运行这个(不带前导 $ ):

$ (U="$(type ls)"; U="${U#*/}/"; echo "${U%)}")
/bin/ls

上述所有方法都使用 shell 内置命令 typecommand 。这些内置命令可在 Bash 和许多其他类似的 shell 中使用。他们不需要安装任何其他(外部)命令。

关于bash - 键入一个命令,该命令将打印系统上 `ls` 程序的绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76824043/

相关文章:

java - Java中项目文件夹的绝对路径

java - 从 JSP 更改 linux 的 PWD

android - 有没有类似文件:///android_asset/that points to the apps directory?的路径

python - 来自 python os.system `RTNETLINK answers: No such file or directory` 的错误答案

linux - 格式化字符串前导零——UNIX 脚本

unix - 无法在 vim SunOS 中粘贴(没有注册)

java - Unix 脚本中的 JSTAT 无法正常工作

bash - 如何从嵌套子目录中移动具有特定扩展名的文件?

bash - 从多行 Here 文档中读取 Bash 变量

bash - bash 中的递归函数