首页 > 解决方案 > 如何在有问题的其他命令中将参数传递给 shell 脚本

问题描述

我有一点疑问,因为我不知道如何准备 shell 脚本,该脚本应该执行其他有问题的命令......

这意味着例如我必须连接 VPN 客户端并需要回答几个问题。接受信任(是/否),然后选择 VPN 选项(VPN/VPN-1),输入登录名和密码。我想要一个包含所有参数的脚本(当然不包括密码)。

有任何想法吗?谢谢

标签: bashshellargumentsparameter-passing

解决方案


如果答案文件有效,您可以避免使用替换令牌将密码放入文件中。例如,在文件中写入“ PASSWORD ”,然后在运行时使用“sed”(或其他工具)替换它。

可以使用'read -s password'或其他方法在运行时获取密码。

read -s REAL_PASSWORD
sed -e 's/__PASSWORD__/$REAL_PASSWORD/' | command-to-setup

如果答案文件中的项目数量很少,并且没有更改,您可以将它们内联到您的脚本中

read -s REAL_PASSWORD
command-to-setup <<__ANSWERS__
yes
VPN-1
login
$REAL_PASSWORD
__ANSWERS__

推荐阅读