Похоже, вы пытаетесь заново изобрести колесоуправление версиями .
Переменная никогда не устанавливается на:
`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