エコーを使用した変数の初期化

エコーを使用した変数の初期化

そこで、他の目的に使用できるように、ファイル名の一部を変数に保存してみました。したがって、私のファイル名はhello123.txtで、123部分を保存したいと思います。だから私は努力します

数値= エコ $file |cut -c6-8

ただし、その値を変数に保存するのではなく、echo 123のみが実行されます。変数のみを初期化し、他の操作を実行しないようにするにはどうすればよいですか?

答え1

を使用するechoか、単に使用することができます。シェルパラメータの置換:

$ file=123456789
$ num=$(echo "$file" | cut -c6-8); echo $num
678
$ num=${file:5:3}; echo $num     # substring of length 3 starting from 6th char
678

答え2

コマンドをまたは「で囲む必要があります。$()これによりコマンドが実行され、結果の値が変数に保存されます。

num=$(echo $file |cut -c6-8)

関連情報