小编Moo*_*oom的帖子

如何从脚本本身内部完全重新启动脚本

我正在设置一个带有菜单和子菜单、选项等的 shell 脚本。但是在每个菜单/子菜单/等上,我需要一个“返回主菜单”选项。

我已经设置了菜单并且它工作正常,但是我需要一种方法来简单地从头开始重新启动脚本,重置所有变量等。

或者退出当前脚本并重新启动它的方法。

我试过这样做:

ScriptLoc=$(readlink -f "$0")
./ScriptLoc
Run Code Online (Sandbox Code Playgroud)

但这会在“旧”脚本中启动“新”脚本,因此当我退出“新”脚本时,它会返回到“旧”脚本(如果有任何意义)。这是脚本中的脚本之类的东西。

任何人都知道如何完全重新启动它?

command-line scripts restart

26
推荐指数
2
解决办法
4万
查看次数

如何检查是否为此终端会话输入了 sudo 密码?

正如标题中所说,我需要检查是否在 shell 中为此终端会话输入了 sudo 密码(也就是,如果我现在拥有 sudo 权限)。

如果我有,我想做一件事,如果我没有,那么它不应该提示我去做,让我做另一件事。

所以在伪代码中它看起来像这样:

if (sudo = true)
   echo "i got sudo"
else
   echo "i dont have sudo"
fi
Run Code Online (Sandbox Code Playgroud)

但是我为此找到的所有命令在尝试检查时总是提示我输入 sudo 密码。

基本思想是脚本可以(并且会)在多个地方要求提供 sudo 密码,但我不想打印出“脚本现在将要求您提供 sudo 密码”。如果已经输入(这意味着它不会要求输入 sudo 密码)。

希望可以有人帮帮我。

command-line sudo

20
推荐指数
1
解决办法
8372
查看次数

标签 统计

command-line ×2

restart ×1

scripts ×1

sudo ×1