コマンド置換の使用

コマンド置換の使用

シェル変数番号には、1 1 1 1 1タブで区切られた数字が含まれます。

最初の1つだけを含めたいです。

私の考えでは

number= $(echo "$number"| cut -f 3 )

「1:コマンドが見つかりません」エラーが発生し、数値の内容は変更されません。

私は何が間違っていましたか?

ベストアンサー1

numberタブ区切りを想定し、次の点を考慮してください。

number= $(echo "$number"| cut -f 3 )

結果はecho "$number"| cut -f 33番目の要素がある場所numbersです1。したがって、シェルは以下を実行しようとします。

number= 1

このコマンドでは、変数は一時的numberに空になるように設定され、シェルはコマンドを実行しようとします1。というコマンドがないため、1シェルはエラーメッセージを表示します。

bash: 1: command not found

これは、名前付きコマンドが見つからないことを示すシェルです1

解決策はスペースを削除することです。

number=$(echo "$number"| cut -f 3 )

コマンドの置換後は次のようになります。

number=1

これにより、number値があると正常に割り当てられます1

おすすめ記事