Как вывести саму переменную не результат?

Похоже, вы пытаетесь заново изобрести колесоуправление версиями .

  1. «определить файлы (как файл манифеста -)для упаковки» — зарегистрировать файлы.
  2. «упаковка определенных файлов в один архив» — содержимое файлов сохраняется в репозитории.
  3. «распаковать эти файлы и при необходимости перезаписать исходные файлы» — проверить старую версию.
  4. «создать резервную копию всех файлов, которые были перезаписаны» — проверка в текущей версии (сделать это перед перезаписью, очевидно ).
  5. «восстановите перезаписанные файлы, если это необходимо» — проверка той другой версии.

0
08.02.2020, 16:22
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
1
28.04.2021, 23:24

Теги

Похожие вопросы