新终端窗口退出后如何运行脚本菜单


0

我有一个脚本,要求用户输入选项。

当选择我有它的选项时,它运行一个新的终端并执行指定选项的另一个脚本。

我仍然希望第一个终端上的菜单脚本要求用户输入而不是退出脚本。对此的一些反馈将不胜感激。

以下内容是从OP的评论中复制的:

这是一个例子:

menue.sh

#!/binbash
clear
echo
echo
echo
echo "1. Option Here"
echo
echo -n "Choice"
read choice
echo $choice
case $choice in
  1) /root/scriptexample/./examplenewterminal.sh
     ;;
esac
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

examplenewterminal.sh

#!/bin/bash
xterm -e "/root/scriptexample/./example.sh"
bash
clear
echo

example.sh

#!bin/bash
clear
echo
echo
echo
echo
 命令在这里等
当您使用Control + C example.sh来停止执行命令时,我想要xterm菜单 
关闭并且脚本继续在原始终端中加载menue.sh。

我不确定我完全理解。如果你想在脚本中创建一个菜单,你可能会使用“select opt in”$ {options [@]}“之类的东西,你可以在同一个终端的脚本的后续部分中使用它 - 是你正在做什么?请发布一些代码。
Tristan Reid

#!/ binbash echo
Peaceful

这里有一个例子menue.sh#!/ binbash clear echo echo echo echo“1. Option Here”echo echo -n“Choice”读取选择echo $ choice case $ choice in 1)/root/scriptexample/./examplenewterminal.sh ;; esac ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ examplenewterminal.sh#!/ bin / bash xterm -e“/ root / scriptexample /./example.sh“; bash clear echo example.sh#!/ bin / bash清除echo echo echo echo命令,当你控制+ c example.sh来停止命令执行时我想让xterm菜单关闭,脚本继续加载menue.sh在原始终端。
Peaceful

应谨慎使用评论,与受访者进行有限,简洁的对话。当您被要求发布代码或以其他方式提供信息以澄清您的问题时 - 首先应该在问题中的信息 - 您的第一直觉应该是 编辑 问题并将所要求的信息放在那里。如您所见,在评论中发布代码效果不佳。我已编辑您的问题,以尝试包含您在评论中发布的代码。请检查一下 编辑 如果有问题,它来解决它。
Scott

Answers:


1
  1. 你的评论显示 menue.sh 从...开始 #!/binbash。 这应该是 #!/bin/bash。 或者,如果您没有使用任何 bash 特定的代码,你可以使用 #!/bin/sh
  2. 你好像在调用你的脚本(在其他脚本中) /root/scriptexample/./examplenewterminal.sh/root/scriptexample/./example.sh。 这应该是公正的 /root/scriptexample/examplenewterminal.sh/root/scriptexample/example.sh;即, /./ 没必要 (而且,虽然我认为这是无害的,但这是令人困惑的混乱)。 你不需要使用 ./ 每当你运行脚本时; 你需要在运行程序时使用它(脚本或编译的二进制文件) 在当前目录中 。 看到 尝试从另一个sh文件执行sh文件时出现问题
  3. 什么时候 example.sh 终止, examplenewterminal.sh 应继续运行。 显然,它开始了另一个 bash 贝壳(我不明白); 后 终止, examplenewterminal.sh 清除屏幕,回显空白行,然后结束。 什么时候 examplenewterminal.sh 终止, menue.sh 应继续运行。 但结束了。 (是什么 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 应该是? 只是一个分隔符?) 如果您添加更多代码 menue.sh 之后 esac, 或者将现有代码放入循环中, 它应该继续运行 examplenewterminal.sh 终止。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.