我正试图学习制作简单的bash脚本以在计算机上执行操作,这仅仅是因为我想学习,因为我认为这很有趣(而且我也可以考虑在将来使用)。
我正在尝试编写一个脚本,该脚本分配根据我键入的内容将调用另一个脚本的变量。我设法使用以下命令从变量中调用另一个脚本:
#!/bin/bash
Echo hello please choose you next step
VBA="/Users/zap/VBA.sh"
$VBA
但是现在我希望能够根据用户输入来调用一个或另一个脚本,并且我尝试在下面制作该脚本,以便如果在“读取”部分中键入VBA时运行一个脚本,并且我输入VBB,它运行不同的脚本。但这似乎不起作用,我该如何更改语法以使输出与脚本VBA或VBB一起运行?
#!/bin/bash
Echo hello please choose you next step
VBA="/Users/zap/VBA.sh"
VBB="/Users/zap/VBB.sh"
read IPT
NXT="$"$IPT""
echo $NXT
如果我可以完成这项工作,我将把它变成一个运行sudo shutdown
的简单脚本,然后询问我是否要立即关闭(我认为-h
)或重新启动(我认为{ {1}}。
答案 0 :(得分:0)
有一些选择。
1)您可以使用if语句并显式运行所需的命令:
echo Do you want to reboot (Y/N)?
read IPT
if [ "$IPT" = "Y" ] ; then
shutdown -h now
else
shutdown -r now
fi
2)您可以尝试强制用户键入命令。 sudo可能很危险 因为用户可能会键入您不想运行的内容。
echo do you want to run VBA or VBB?
read IPT
"/Users/zap/${IPT}.sh"