変数の接続は機能しませんか?

変数の接続は機能しませんか?

私を狂わせる単純なbashシェルスクリプトがあります。私が望むのは、他のコマンドで使用する結果を返すコマンドを実行することです。最初のコマンドの結果は、空白を含むハードドライブの場所を返します。これが私が持っているものです...

# Get list of virtual machines.  VMname will hold the address of the .vmx file
VMname=`./vmrun list`
echo $VMname

# Get list of snapshots
command="./vmrun listSnapshots "
command=$command"'"
command=$command$VMname
command=$command"'"
echo $command
snapshotList=`$command`

$VMname の周囲に一重引用符を追加しようとすると、左側にのみ追加されるようです。つまり、左側の単一引用符のみを追加します。私は何か愚かなことをしましたか?本当にクレイジーになりますね!

ベストアンサー1

必要なものは次のとおりです。

VMname=$(./vmrun list)
snapshotList=$(./vmrun listSnapshots "$VMname")

中間変数が不要な場合は、次のものもVMname使用できます。

snapshotList=$(./vmrun listSnapshots "$(./vmrun list)")

$()代わりに使用してください``(電子を理解していない非常に古いシェルを使用しない限り)。構造のネストが$()簡単になりました。

おすすめ記事