将变量从主脚本转移到从第一个脚本开始的不同shell



好的,所以我很抱歉,如果这是一个不需要思考的问题,如果它是不清楚的,或者如果它是不可能的,但这里是我的代码,我试图得到/usr/bin/期望代码行继承/从主脚本获取变量。它不能工作,因为它是用不同的shell启动的(我认为),所以它没有加载变量。这是我的第一个帖子,所以如果我做错了什么,请纠正我;)

提前感谢,——一个 /

#!/bin/bash
red="x1b[0;31m"
nc="x1b[0m"

####### commented out till scipt is finished
# if [ $EUID -ne 0 ]; then
# echo -e "${red}[!]${nc} | script must be run as root"
# exit
# fi
read -p '[?] | ip address of device: ' ip
read -p '[?] | nickname to set for this config: ' name
read -p '[?] | username to generate keys for: ' usr
read -p '[?] | password for that user: ' pw

export $usr
export $pw
export $ip
export $name

/usr/bin/expect -c 'spawn ssh $usr@$ip; expect"(yes/no)? "; send "yesr"; expect "Password:"; send "$pw"; interact'

你必须1。正确导出它们;使用$env(foo)来引用它们:

#!/bin/bash
var="World"
export var   # No $
expect -c 'spawn echo Hello $env(var); interact'

最新更新