@vldud

Объявление переменной в отдельном скрипте и подключение скрипта через source не тождественно простому объявлению переменной?

Есть скрипт на bash:
#!/bin/bash
source "var.conf";
echo bar"$VAR$VAR"bar;
VAR=foo;
echo bar"$VAR$VAR"bar;

в var.conf объявлена переменная VAR:
VAR=foo
Результат выполнения скрипта:
barfoo
barfoofoobar

Почему результаты echo bar"$VAR$VAR"bar; разные?

UPD: Причиной бага оказался выбор директивы перевода строк. Выбираем crlf, ставим пустую строку после строки с объявлением переменной в var.conf и дело в шляпе.
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
xotkot
@xotkot
хорошо есть и хорошо весьма
$ bash --version 
GNU bash, версия 5.0.2(1)-release (x86_64-pc-linux-gnu)
...


$ ./script.sh 
barfoofoobar
barfoofoobar


ваш скрипт работает как надо, возможно где-то опечатались или еще чего
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы