小编典典

如何通过 Shell (BASH/ZSH/SH) 获取文件的绝对路径?

all

问题:是否有一个简单的 sh/bash/zsh/fish/… 命令来打印我提供的任何文件的绝对路径?

用例:我在目录中/a/b,我想c在命令行上打印文件的完整路径,以便我可以轻松地将其粘贴到另一个程序中:/a/b/c.
在处理长路径时,简单但一个小程序可能会为我节省 5 秒左右的时间,最终加起来。所以令我惊讶的是,我找不到一个标准的实用程序来做到这一点——真的没有吗?

这是一个示例实现,abspath.py:

#!/usr/bin/python
# Author: Diggory Hardy <diggory.hardy@gmail.com>
# Licence: public domain
# Purpose: print the absolute path of all input paths

import sys
import os.path
if len(sys.argv)>1:
    for i in range(1,len(sys.argv)):
        print os.path.abspath( sys.argv[i] )
    sys.exit(0)
else:
    print >> sys.stderr, "Usage: ",sys.argv[0]," PATH."
    sys.exit(1)

阅读 264

收藏
2022-03-08

共1个答案

小编典典

采用realpath

$ realpath example.txt
/home/username/example.txt
2022-03-08