Shell
readlink -f 不能處理多個文件
我嘗試使用 執行
readlink -f
多個文件wildcard "*"
,但它將其他文件評估為操作數命令
readlink -f *log
輸出(所需)
/home/trail_1.log /home/trail_2.log
難道我做錯了什麼 ?我正在使用
tcsh
並且readlink
是我知道讀取文件路徑的唯一命令。
您還可以使用
realpath
:% realpath * /data/code/mdweb/Gemfile /data/code/mdweb/Gemfile.lock /data/code/mdweb/README.markdown
realpath
不是POSIX。它在 FreeBSD 系統和一些(但不是全部)Linux 系統上預設可用(但 AFAIK 可以作為一個包安裝在大多數(如果不是全部)Linux 系統上)。
realpath
的行為在不同的實現中可能會有所不同,因此上述行為不能保證有效。我已經在 FreeBSD 10 和 Arch Linux 上對其進行了測試。
readlink
僅適用於一個文件,您需要一個循環來執行此操作:for f in *; do readlink -f -- "$f" done