
シェル変数番号には、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 3
3番目の要素がある場所numbers
です1
。したがって、シェルは以下を実行しようとします。
number= 1
このコマンドでは、変数は一時的number
に空になるように設定され、シェルはコマンドを実行しようとします1
。というコマンドがないため、1
シェルはエラーメッセージを表示します。
bash: 1: command not found
これは、名前付きコマンドが見つからないことを示すシェルです1
。
解決策はスペースを削除することです。
number=$(echo "$number"| cut -f 3 )
コマンドの置換後は次のようになります。
number=1
これにより、number
値があると正常に割り当てられます1
。
答え2
「=」記号の後にスペースを追加しないでください。私の言葉は、試してみてください。
number=$(echo "$number"| cut -f 3 )
変える
number= $(echo "$number"| cut -f 3 )