Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Видимость переменных в bash  (Прочитано 893 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sydenis

  • Автор темы
  • Участник
  • *
  • Сообщений: 121
    • Просмотр профиля
Видимость переменных в bash
« : 02 Июня 2010, 15:48:53 »
ситуация:

1. в /etc/environment задаём переменную MYVAR="none"

2. в /home/user1/.bashrc пишем MYVAR="abc"

3. после перезагрузки и логина под user1 проверяем:
- echo $MYVAR
- abc
- sudo echo $MYVAR
- abc

4. пишем скрипт след. содержания:
#!/bin/bash
echo $MYVAR

5. Запускаем его
- ./script.sh
- abc
- sudo ./script.sh
-               ... пустая строка

Отчего так?             


Оффлайн [DarkNet]Alpha

  • Активист
  • *
  • Сообщений: 987
  • Эмоциональный эльдар
    • Просмотр профиля
    • EBM-радио
Re: Видимость переменных в bash
« Ответ #1 : 02 Июня 2010, 15:54:52 »
Утверждать не буду, предполагаю, что это из-за того, что конфиг твой, а не рута. У рута такой переменной нет.
Хотя хз, самому интересно узнать истину.

Оффлайн DnSL48

  • Активист
  • *
  • Сообщений: 286
    • Просмотр профиля
Re: Видимость переменных в bash
« Ответ #2 : 02 Июня 2010, 16:10:57 »
sudo echo $MYVAR, по всей видимости, запускает утилиту echo в окружении root, но передает ей параметр $MYVAR из текущего окружения.
скрипт-же запускается без передачи параметров, и у него уже окружение root'а.
ArchLinux x86_64

Оффлайн sydenis

  • Автор темы
  • Участник
  • *
  • Сообщений: 121
    • Просмотр профиля
Re: Видимость переменных в bash
« Ответ #3 : 02 Июня 2010, 17:09:06 »
вот как-бы с этим справится?

Пользователь решил продолжить мысль 02 Июня 2010, 17:12:28:
и потом у рута должна быть эта перемменная в окружении, потому что она в environment задана
скрипт мог бы хотябы "none" выдать штоле...
« Последнее редактирование: 02 Июня 2010, 17:12:28 от sydenis »

Оффлайн DnSL48

  • Активист
  • *
  • Сообщений: 286
    • Просмотр профиля
Re: Видимость переменных в bash
« Ответ #4 : 02 Июня 2010, 17:19:31 »
справиться можно. 3 варианта навскидку -
1 sudo su ...
2 man sudo
3 tmux/screen
ArchLinux x86_64

 

Страница сгенерирована за 0.064 секунд. Запросов: 24.