変数サービスを次の値に設定しようとしています。
var1=first/second
echo $var1 | cut -d '/' -f 1
var2=$var1 | cut -d '/' -f 1"
echo $var2
結果echo $var1 | cut -d '/' -f 1
は「first」です。そうですね。ただし、結果を他の変数に設定することはできません。上記の例では、var2は空です。
文字列の前の部分が\
var2の値として返されるように、3行の正しい構文は何ですか?
ベストアンサー1
コマンド置換を使用できます
var2=$(echo "$var1" | cut -d '/' -f 1)
ただし、この場合は、シェルのパラメータ置換を直接使用することをお勧めします。
$ var2=${var1%/*}
$ echo "$var2"
first
(最も短い末尾の部分文字列一致の削除/*
)と
$ var3=${var1#*/}
$ echo "$var3"
second
(最も短い先行部分文字列の一致を削除*/
)必要に応じて。