1. ホーム
  2. bash

[解決済み] シェル(BASH/ZSH/SH)でファイルの絶対パスを取得する方法を教えてください。

2022-03-17 14:49:46

質問

質問:どのファイルを与えても、その絶対パスを表示する簡単なsh/bash/zsh/fish/...コマンドはあるのでしょうか?

使用例 私は、ディレクトリ /a/b というファイルへのフルパスを表示したい。 c をコマンドラインで表示し、他のプログラムに簡単に貼り付けることができます。 /a/b/c . 単純なことですが、これを行う小さなプログラムがあれば、長いパスを処理する際に5秒ほどの時間を節約することができ、最終的にはそれが加算されます。だから、これを行う標準的なユーティリティが見つからないことに驚かされます - 本当にないのでしょうか?

ここに実装のサンプルである abspath.py があります。

#!/usr/bin/python
# Author: Diggory Hardy <[email protected]>
# 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)

解決方法は?

使用方法 realpath

$ realpath example.txt
/home/username/example.txt