在bash脚本中执行用户的输入

时间:2019-12-11 09:42:40

标签: linux bash shell user-input

我有一个sikuli脚本,需要打开一个应用程序才能工作。我创建了一个可执行文件test_app.sh

/home/local/Applications/App/launch_app&
/usr/local/java/jre1.8.0.172/bin/java -jar sikulix.jar -r executable.sikuli

因此,第一行启动应用程序,第二行在其上运行我的sikuli脚本,我想删除第一行,让用户输入他不知道的应用程序路径。我敢肯定,使用read -p之类的方法很简单,但是我没有找到方法。

2 个答案:

答案 0 :(得分:0)

只需获取读取命令的输出并执行它即可,例如

$ cat 1.sh
echo "I am script $0"

$ cat 2.sh
read script
. $script

$ bash 2.sh
1.sh
I am script 1.sh

它也适用于完整路径:

$ bash 2.sh
/home/my_user/1.sh
I am script 1.sh

答案 1 :(得分:0)

您可以使用参数化的bash脚本:

script.sh内容:

#!/usr/bin/env bash

APP_NAME=$1 # get parameter

"${APP_NAME}" && /usr/local/java/jre1.8.0.172/bin/java -jar sikulix.jar -r executable.sikuli

使script.sh可执行文件:

chmod +x script.sh

运行脚本:

./script.sh /home/local/Applications/App/launch_app