The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
export переменных в среду, !*! z34, 27-Фев-06, 15:26  [смотреть все]
Хочу с помощью скрипта поменять PS1
Пишу следующее:

#!/bin/bash

PS1="My new promt: "
echo "PS1 will be change on $PS1"
export PS1


и блин не меняет, я думаю что неправильно понимаю что делает export Объясните в чем проблема?

  • export переменных в среду, !*! madskull, 15:55 , 27-Фев-06 (1)
    >Хочу с помощью скрипта поменять PS1
    >Пишу следующее:
    >
    >#!/bin/bash
    >
    >PS1="My new promt: "
    >echo "PS1 will be change on $PS1"
    >export PS1
    >
    >
    >и блин не меняет, я думаю что неправильно понимаю что делает export
    >Объясните в чем проблема?

    А как вызываешь?
    Надо . script

    • export переменных в среду, !*! z34, 16:02 , 27-Фев-06 (2)
      >А как вызываешь?
      >Надо . script

      chmod +x script.sh
      и ./script.sh

      О работает с .
      а какая разница?

      • export переменных в среду, !*! vic, 16:41 , 27-Фев-06 (3)
        >>А как вызываешь?
        >>Надо . script
        >
        >chmod +x script.sh
        >и ./script.sh
        >
        >О работает с .
        >а какая разница?

        точка означает выполнить скрипт не в новом процессе, а в текущем, поэтому установка переменных срабатывает нормально, иначе переменные устанавливаются только для нового процесса и его потомков.

        • export переменных в среду, !*! z34, 06:01 , 28-Фев-06 (4)
          > иначе переменные устанавливаются только для нового процесса
          > и его потомков.

          а разве этот скрипт не является потомком запущенного shell'a? я думал все процессы от него растут :)
          Т.е у каждого процесса свой параметры среды и они ни как не пересекаются...

          • export переменных в среду, !*! vic, 12:10 , 28-Фев-06 (5)
            >> иначе переменные устанавливаются только для нового процесса
            >> и его потомков.
            >
            >а разве этот скрипт не является потомком запущенного shell'a? я думал все
            >процессы от него растут :)
            >Т.е у каждого процесса свой параметры среды и они ни как не
            >пересекаются...

            Еще раз: если скрипт запускается с использованием оператора точка, то скрипт выполняется в текущем процессе, а не в новом процессе (потомке).

            P.S. Все процессы растут от init

          • export переменных в среду, !*! madskull, 12:20 , 28-Фев-06 (6)
            >Т.е у каждого процесса свой параметры среды и они ни как не
            >пересекаются...
            Ну, естественно, потомок наследует среду от родителя. Но от потомка родителю ничего не передается.





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру