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

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

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

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

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

以下内容是从 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
清除
回声
回声
回声
回声
在此处执行命令等等
当您按 Control + C example.sh 停止执行命令时,我希望 xterm 菜单
关闭并且脚本继续在原始终端中加载 menue.sh。

答案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.shexamplenewterminal.sh应继续运行。显然,它启动了另一个bashshell(我不明白);之后终止, examplenewterminal.sh清除屏幕,回显空白行,然后结束。examplenewterminal.sh终止时,menue.sh应该继续运行。但随后它就结束了。(应该是什么?只是一个分隔符?)如果您在 之后^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^添加更多代码,或者将现有代码放入循环中,它应该在终止后继续运行。menue.shesacexamplenewterminal.sh

相关内容