![如何通过重新运行脚本脚本来设置然后检索变量?](https://linux22.com/image/200402/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E9%87%8D%E6%96%B0%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%E8%84%9A%E6%9C%AC%E6%9D%A5%E8%AE%BE%E7%BD%AE%E7%84%B6%E5%90%8E%E6%A3%80%E7%B4%A2%E5%8F%98%E9%87%8F%EF%BC%9F.png)
我正在运行一个脚本,我想通过运行脚本来设置变量。
脚本文件
#!/bin/bash
# Check if passed parameters
if [[ -n $1 && -n $2 ]]; then
export USER="$1"
export PASS="$2"
fi
echo $USER $PASS
当我运行这个时,一切都按预期工作:
root@master:/src#./script.sh root root
root root
但是当我想检索不带参数运行脚本的变量时我什么也得不到
答案1
由于我们正在运行的脚本是当前命令行环境的子进程,这就是阻止脚本存储这些变量以供将来使用的原因。
所以我实际上已经通过运行解决了这个问题:
. ./script.sh root root