私はあなたが必要とする以上のものが欲しかった、私はまた、../../readme.md
のような相対ディレクトリ内のファイルについて尋ねることができるようにする必要があり、結果は/Users/santi/readme.md
のようなものでなければならないので、私は以下の内容で$PATH
と呼ばれるlsf
の一部であるフォルダ内の(実行可能な)スクリプトを作成しました。
#!/bin/bash
F=${1:?'usage lsf ../../readme.md'}
( cd $(dirname "$F") && echo $(pwd)/$(basename "$F") )
だから次のようにそれを使用することができます:
santi@santis-mac:~/p/dir1/dir2$ lsf ../../readme.md
/Users/santi/p/readme.md
パラメータは警告を与えません
santi@santis-mac:~/p/dir1/dir2$ lsf
/Users/santi/bin/lsf: line 3: 1: usage lsf ../../readme.md
偽のディレクトリは警告を与えます (dirname
のため)
santi@santis-mac:~/p/dir1/dir2$ lsf ../../fakedir/readme.md
/Users/santi/bin/lsf: line 5: cd: ../../fakedir: No such file or directory
偽のファイルが、実際のディレクトリは警告を与えません (必要であれば検証を追加することができます)
santi@santis-mac:~/p/dir1/dir2$ lsf ../../fakefile.md
/Users/santi/p/fakefile.md