如何使用 SCSUDO 运行带有位置参数的脚本?

如何使用 SCSUDO 运行带有位置参数的脚本?

我正在尝试使用scsudo运行一些定义的命令来停止和启动 UNIX 主机上的进程。我遇到的问题是,scsudo当从命令配置文件调用脚本时,似乎不喜欢使用位置参数scsudo

我的任务是scsudo减少停止和启动进程和其他已定义命令的功能访问请求的数量,以及与此相关的管理开销。

这是一个例子:

scsudo - <functional_id> "/opt/scripts/Start_Process_script.sh parameter1 parameter2 parameter3"
Password:
Reason:
execvp: No such file or directory

看起来 scsudo 配置文件在调用脚本时似乎没有处理参数,因此无法找到要求运行的脚本。

我已在包含参数的命令周围放置括号,但这仍然没有解决问题?

我已经彻底搜索了网络和 Stack Exchange,但无法返回太多与scsudo使用scsudo.

我将非常感激您在此事上的协助。

答案1

当你知道这个技巧时,这就是微不足道的:

scsudo - <functional_id> sh -c "/opt/scripts/Start_Process_script.sh parameter1 parameter2 parameter3"

您也许还可以使用:

scsudo - <functional_id> /opt/scripts/Start_Process_script.sh parameter1 parameter2 parameter3

如果脚本以适当的 shebang(#!/bin/sh#!/bin/bash其他)开头。

正如您编写的那样,该命令正在寻找执行被调用的scsudo程序(包含嵌入空格),但没有找到它,因此出现错误。/opt/scripts"Start_Process_script.sh parameter1 parameter2 parameter3"

相关内容