私は簡単に理解しましたパラメータの置換、次の部分文字列を含める
foo="Hello World";
greeting=${foo:0:6}
しかし、これを命令で行うことはできますか?
greeting="Hello"
md5greeting=$(echo $greeting | md5sum :0:6)
>>b1946a
出力は「hello」md5sumの最初の6文字です。
どうやってこれを達成できますか?
ベストアンサー1
少なくともbashでは、パラメータ置換が機能する方法ではありません。実際の変数(パラメータ)が必要で、それを直接操作します。たとえば、
var=$(echo abcdefgh | cmd1 | cmd2 | ... )
var2="${var:2:4}"
例外は、zsh
コマンド置換を「即時」パラメータに変換し、上記の操作を1行で実行できることです。
var2=${"$(echo abcdefgh | cdm1 | cmd2 | ... )":2:4}