Shell 将参数从本地传递给Sudo用户

Shell 将参数从本地传递给Sudo用户,shell,unix,Shell,Unix,好的,如果主题不清楚,我会解释我的疑问。我有一个shell脚本保存在本地用户(executeAdM.sh)中,当我执行这个脚本时,我通过指令文件中的命令连接到SUDO user。但是当我执行这个脚本时,我也将参数传递给这个脚本,它实际上是SUDO user的某个目录路径。请参见下面的脚本-: 本地脚本(executeADM.sh)-: 当上面的脚本执行时,它成功地连接到另一个用户,在SUDO user我执行一个for循环,搜索另一个名为testingADM.sh的脚本。一旦找到脚本,我将使用本地

好的,如果主题不清楚,我会解释我的疑问。我有一个shell脚本保存在本地用户(executeAdM.sh)中,当我执行这个脚本时,我通过指令文件中的命令连接到SUDO user。但是当我执行这个脚本时,我也将参数传递给这个脚本,它实际上是SUDO user的某个目录路径。请参见下面的脚本-:

本地脚本(executeADM.sh)-:

当上面的脚本执行时,它成功地连接到另一个用户,在SUDO user我执行一个for循环,搜索另一个名为testingADM.sh的脚本。一旦找到脚本,我将使用本地用户传递的参数执行该脚本,并且testingADM.sh应为我设置该路径,该路径不起作用,它不读取从本地用户传递的参数。有人能帮我吗?我不知道如何解决此问题。如果有什么不清楚的地方,请询问我,我想将参数从LOCALshell脚本传递到SUDO用户shell脚本-:

SUDO用户脚本(testingADM.sh)-:

若我在SUDO保存的脚本中硬编码path变量值,那个么一切都可以正常工作。但我不想那样

 #!/bin/bash
 path=somepath
 cd $path
 pwd

你应该像
path=“$1”
那样引用
$1
,以防止对特殊代码的重新解释characters@NullDev已经试过了,但没有成功。@Tushar,你能用函数而不是单独的脚本在脚本中编写所有内容吗?@KaushikNayak有两个不同的脚本保存在两个不同的用户中,一个在本地,一个在sudo。因此,我确实需要一个在本地环境下执行的seprate脚本,在连接到sudo用户后,在该环境下执行脚本以简化工作,但我一直无法将参数从本地传递到sudo。超级用户已经回答了这个问题:
./executeADM.sh somePath
#!/bin/bash
path=$1
cd $path
pwd
 #!/bin/bash
 path=somepath
 cd $path
 pwd