繁体   English   中英

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

[英]execute user's input in a bash script

我有一个需要打开应用程序才能运行的 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或其他方法,但我没有找到方法。

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

$ 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

您可以使用参数化的 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM