shell脚本执行中如何自动读取需要配置的文件?
例如:我在安装某软件时,软件需要我指定一个服务器地址才能继续,我想用shell脚本实现自动化,这样怎么可以让shell脚本执行时,在需要配置才能继续时,可以自动去读取某一...
例如:我在安装某软件时,软件需要我指定一个服务器地址才能继续,我想用shell脚本实现自动化,这样怎么可以让shell脚本执行时,在需要配置才能继续时,可以自动去读取某一个我事先写好服务器地址那个文件。
展开
4个回答
展开全部
假如你的install.sh脚本中执行到某一句等待人工输入配置信息,这样的语句可能是
read var
意思是阻塞等待标准输入,将输入的内容赋值给var这个变量,接下来就根据var变量的内容进行后续安装操作;
那么只要将这行命令改成 var=`cat file` 也就是读取预先准备的文件内容即可,此时var不是手动输入的内容了。接下来的操作仍然是根据var变量的值安装
read var
意思是阻塞等待标准输入,将输入的内容赋值给var这个变量,接下来就根据var变量的内容进行后续安装操作;
那么只要将这行命令改成 var=`cat file` 也就是读取预先准备的文件内容即可,此时var不是手动输入的内容了。接下来的操作仍然是根据var变量的值安装
追问
var 是需要在原安装包去修改,还是直接可以再执行安装的脚本中去改?再说明一下 谢谢1
展开全部
假设安装命令为install.sh,制定的文件名为target.sh,则可以执行如下命令:
./install.sh < target.sh
./install.sh < target.sh
更多追问追答
追问
你这样是直接将要预设的信息导入到install.sh脚本了吧,我的意思是这样,比如你在安装window时,要求你输入key后继续,现在我有key且写入到了一个文件key.txt中了,我想用脚本完成一键自动完成安装,怎么解决脚本在执行到需要输入key时,会自动去读取key.txt这个文件。当然上面只是举一个例子说明我的需求。
追答
执行./install.sh < target.sh并不是把target.sh导入到install.sh,而是当Install.sh需要从标准输入流中读入数据时,会自动从target.sh中读取数据。
在Windows下做不了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
expect 可以做到。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你说了一大堆,我没怎么听懂
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询