bashでディレクトリと相対パスを見つけるために$ 0変数を分割する方法は?

bashでディレクトリと相対パスを見つけるために$ 0変数を分割する方法は?

$ 0変数にはスクリプトのパス情報が含まれています。

  • パス情報を絶対パスに変更するには?私の言葉は〜、.、..、またはこれに似たものを処理する方法を意味しますか?
  • パス情報をディレクトリとファイル名に分割するには?

これを達成するためにpython / perlを使用できますが、可能であればbashを使用したいと思います。

ベストアンサー1

そのようなことを処理する必要はありません~。シェルが代わりに処理します。これがまさに~/filenameどのスクリプトやプログラムに渡すことができ、機能できるのかです。これらのプログラムはすべて~自分で処理せず、シェルは引数を変換して/home/username/filenameプログラムに渡します。

$ echo ~/filename
/home/mrozekma/filename

標準ファイル名が必要な場合(例..:realpathニール):

$ realpath ~/../filename
/home/filename

パスをディレクトリ名とファイル名に分割するには、dirname次のようにしますbasename

$ dirname /foo/bar/baz
/foo/bar

$ basename /foo/bar/baz
baz

おすすめ記事