IFSを使用して文字列を分割しようとしていますが、多くの場所で提供されている例を見ています。bashの文字列を分割する際に配列の添え字が正しくない
path_to_file="/home/user/path/to/fileName.txt";
IFS='/' read -ra split_path <<< "$path_to_file";
file_name="${split_path[-1]}";
これは、アレイ内の単一の要素にスペースで区切って文字列全体を与える:私は、分割後の配列の最後の要素を取得したい、私は目標を達成するために、次のやっています。最後のコマンドを実行すると、 "-bash:split_path:bad array subscript"というエラーメッセージが表示されます。私が間違ってやっていることは、配列の別のインデックスに分けられた要素を私に与えていないことです。
'$ {パス_to_file ## * /}' '-1'はより新しいbash版では動作します。 (それは4.3.11の私のために働く) – PSkocik
@PSkocik訂正していただきありがとうございます。ええ、これはバッシュ3です。私は、OPが苦労していると思います。 – tripleee
私のBashバージョンは4.1.2ですが。あなたの答えは私が探しているものです。 – Prometheus