注文する: val=$( echo $text $len|awk '{print substr($0,0,$2)}')
上記のコマンドはうまく動作します。 $0と$2の値が何であるかを知りたいです。 $ 0は$ textの値を受け入れ、$ 2は$ lenの値を受け入れることを知っています。しかし、1ドルはどうですか?
ベストアンサー1
$0
はフルラインであり、($text
および$len
)$2
2番目の引数は($len
)
のように見えますがsubstr($0,0,$2
)でなければなりませんsubstr($1,0,$2)
が$len
、十分に小さいと(実際の長さより小さいと$text
)問題になりません。
一方では、次の点に注意してください。
val=${text:0:$len}
これにより、ほとんどのシェルで問題が解決されます。