Mac-Osx
如何在 Mac OS X 上的 shell 腳本中檢索絕對文件名?
我想檢索目前執行的腳本文件的絕對文件名。連結也應該解決。
在 Linux 上,這似乎是這樣完成的:
$(readlink -mn "$0")
但
readlink
似乎在 Mac OS X 上的工作方式非常不同。我讀過這是使用
$(realpath $0)
在 BSD 中,但這也不起作用。Mac OS X 沒有
realpath
.任何想法?
我作弊並使用 perl 來做這件事:
#!/bin/bash dirname=`perl -e 'use Cwd "abs_path";print abs_path(shift)' $0` echo $dirname
你會認為我只是用 perl 編寫整個腳本,我經常這樣做,但並非總是如此。
#!/usr/bin/env bash scriptDir="$(cd "$(dirname "$0")" && pwd -P)"