結果の代わりに変数自体を印刷する方法は?

結果の代わりに変数自体を印刷する方法は?

結果の代わりに変数自体を印刷する方法はありますか?

x=`curl -s https://google.com`

予想される結果

curl -s https://google.com

誰でも上記の結果を得る方法を提案できますか?

ありがとう

ベストアンサー1

この変数は次のように設定されません。

`curl -s https://google.com`

コマンド置換は変数の割り当て前に発生し、その変数を出力に割り当てます。ファイルから読んで入手できると思います。

#!/bin/bash

x=$(echo foobar)

awk -F\= '$1 == "x"{gsub(/\$\(|\)/, ""); print $2}' "$0"

$(...)バックティックの代わりにコマンド置換を使用する必要がある理由はいくつかあり、おそらくまったく使用しないでください。実際の意図を教えてください。明らかにより良い解決策があるでしょう。


コマンドを配列に保存し、参照として使用することもできます。

#!/bin/bash

x=(echo foobar)

y=$("${x[@]}")

printf 'x is: %s\ny is: %s\n' "${x[*]}" "$y"

すると、以下が出力されます。

$ ./script.sh
x is: echo foobar
y is: foobar

おすすめ記事