スクリプトから$0
可能な相対パスを取得します。それを絶対値に変換するために理解していない次の解決策を見つけました。
abspath=$(cd ${0%/*} && echo $PWD/${0##*/})
${0%/*}
私の問題は内部の魔法と${0##*/}
。前者はディレクトリ名を抽出し、後者はファイル名を抽出するようですが、どうなるかわかりません。
ベストアンサー1
Seanには最も簡単な解決策がありますreadlink -f $0
。奇妙なファイル名を処理することについて確実に知りたい場合は、次のことを使用できます。
absolute_path_x="$(readlink -fn -- "$0"; echo x)"
absolute_path="${absolute_path_x%x}"