Когда я использую команду экспорта в командной строке, она работает должным образом. Но это не работает из сценария оболочки.
[root@server shantanu]# export myip=10
[root@server shantanu]# echo $myip
10
[root@server shantanu]# vi myip.sh
#!/bin/sh
export myipadd=10
[root@server shantanu]# sh -xv myip.sh
#!/bin/sh
export myipadd=10
+ export myipadd=10
+ myipadd=10
[root@server shantanu]# echo $myipadd
Я хочу сделать переменную доступной для того же сценария при следующем запуске. Другими словами, я ищу способ запомнить значение переменной.
Если вам нужно экспортировать свою переменную в сценарии оболочки и сделать ее доступной для других сценариев, вам необходимо использовать source
команда.
$ cat test.sh
export MY_VAR="hello"
$ source test.sh
$ echo $MY_VAR
hello
Выполнить export
команда из командной строки заставляет переменные среды действовать только в текущем сеансе. Добавьте его в файлы запуска оболочки на постоянное хранение.
Например, с bash:
echo "export myipadd=10" >> ~/.bash_profile (for only root)
echo "export myipadd=10" >> /etc/profile (for all users)