Нет абсолютно никакого различия между ArchBang и ванильной дугой + openbox + несколько нечетных пакетов АУРА и некоторая первоначальная конфигурация. Можно установить ArchBang и удалить все это, и у Вас просто будет Arch.
Вы используете точно те же зеркала в качестве Arch Linux, тот же АУР как пользователи Linux Arch и тот же диспетчер пакетов как Arch. Единственная разница - то, что установочный носитель установит некоторые дополнительные пакеты и некоторую конфигурацию, реализованную для Вас.
Если Форумы Дуги "бросают" пользователей для того, чтобы задать вопросы, которые не характерны для установочного носителя ArchBang и начальной конфигурации, потому что они, оказалось, устанавливали Дугу с помощью носителя установки ArchBang..., который довольно причудлив.
Когда вы запускаете скрипт, он получает свою оболочку и свое окружение, которые исчезают снова, как только скрипт завершает работу. Чтобы сохранить переменные окружения вокруг, отправьте скрипт в вашу текущую оболочку:
$ source ./a.sh
или эквивалентно (но немного более порционно), используя команду POSIX dot:
$ . ./a.sh
Затем определения будут помещены в ваше текущее окружение оболочки и унаследованы любыми программами, которые вы запустите из неё.
Чтобы быть ближе к выполнению скрипта, . a.sh
найдет a.sh путем поиска по каталогам в переменной окружения PATH
.
Есть некоторые тонкости в том, как они ведут себя и являются ли .
и источником
одинаковыми (или присутствуют вообще). . ./a.sh
определенно будут вести себя одинаково во всех POSIX-совместимых оболочках, но источник
и .
, и . a.sh
и . ./a.sh
, могут отличаться. Для Bash source
и .
во всех случаях одинаковы ; для zsh source
всегда сначала проверяет текущий каталог ; ksh по сути похож.
Если имя скрипта задано в виде пути (содержащего /
), то этот путь используется непосредственно во всех случаях. Наиболее надежным является . ./script
или . /path/to/script
.
Просто для протокола.
Если вы хотите запустить скрипт из Интернета, который экспортирует env в систему
вы можете использовать следующий формат
source <(curl -s -L https://raw.githubusercontent.com/iamwwc/wwcdocker/master/install.sh)
Например:
source <(curl -s -L https://example.com/install.sh)
Попробуйте
exec./script
Команда exec запускает сценарий в текущей оболочке без запуска неинтерактивной оболочки.
.
илиsource
, Вы не порождаете новый дочерний процесс, Вы выполняете команды в текущей оболочке. – glenn jackman 27.01.2012, 22:32.
илиsource
. Почему это происходит? – Patryk 21.02.2012, 15:03exit
оператор, таким образом, это не подходит, чтобы быть полученным. – enzotib 21.02.2012, 15:24source ./script
абсолютно прекрасные работы,sudo source ./script.sh
говоритsudo: source: command not found
. Как я могу сделать это использование sudo? – 71GA 27.09.2014, 16:37sudo
и в зависимости от параметров конфигурации в/etc/sudoers
Вы можете или не можете сохранить свою среду при выполнении команд сsudo
. Я предлагаю, чтобы Вы попытались получить свой сценарий и затем работатьsudo
с-E
опция сохранить среду. Если это не работает, я предполагаю, что существует очень мало, можно сделать. – enzotib 27.09.2014, 16:52