在 bash 脚本内的自定义 shell 实例中运行命令



我有一个脚本: 脚本

#!/bin/bash
read -n password
if [[ $password = $correct-password ]]; then
custom shell
else
exit
fi

然后,我还有另一个脚本:

#!/bin/bash
echo password | ./script
commands

我希望第二个脚本中的命令在我的自定义 shell 中运行,而不是 bash 中运行,但它们只是在 bash 中运行。我无法在我的第一个脚本中进行任何更改。 我尝试从文件重定向密码而不是回显,这里的文档"<<"仍然喊着相同的结果。

使用here-doc,并将密码放在第一行。

./script <<EOF
password
commands
EOF

当你使用管道时,脚本的标准输入只是来自管道;一旦./script退出,该行之后的任何内容都将是原始 shell 的命令。

最新更新