我有以下场景,想知道如何实现
运行包含 2 个命令的 shell 脚本,这两个命令应按顺序运行。但问题是,当我运行第一个命令时,提示符会进入我执行的命令,而第二个命令永远不会执行。
例子:
#!/bin/bash
ade useview testview
ade refreshview -latest
退出~
输出:
[ ~/cron_scripts]$ ./test.sh
ade:[ testview ] $
因此,当命令 1 进入视图时,shell 脚本会失去控制并且永远不会执行第二个命令
答案1
从第一个命令开始
ade useview testview
启动交互式会话,该会话必须在运行脚本中的下一个命令之前结束。
但一旦结束,剧本会跑第二个命令。因此它并没有完全“失去控制”,而是正在等待第一个命令的交互会话完成。
答案2
ade useview -exec /full/path/of/the/file/subshellcommands.sh view_name