将参数从Local传递给Sudo用户

时间:2017-08-03 12:16:05

标签: shell unix

好的,如果主题不清楚我将解释我的疑问。我有一个shell脚本保存在我的本地用户名为( executeAdM.sh ),当我执行此脚本时,我连接到< strong> SUDO用户通过从指令文件中获取命令。但是当我执行此脚本时,我也将参数传递给此脚本,该脚本实际上是一些目录路径 SUDO用户。请参阅下面的脚本 - :

本地脚本(executeADM.sh) - :

#!/bin/bash
echo password | sudo -S -l
sudo /usr/bin/su - user  <<\EOF
#ls -lrt
pwd
for entry in $(ls -r)
  do
  if [ "$entry" = "testingADM.sh" ];then
./$entry $1
fi
done
EOF

执行以上 - :

./executeADM.sh somePath

当上面的脚本执行时,它成功连接到另一个用户,并在 SUDO用户执行for循环,搜索另一个名为 testingADM.sh 的SCRIPT。一旦找到脚本我用本地用户传递的参数执行该脚本, testingADM.sh 应该为我设置的路径不起作用它不是读取从本地用户传递的参数。任何人都可以帮助我在这里,我没有得到如何解决这个问题。请问我是否有什么不清楚基本上我想将参数从 LOCAL shell脚本传递给 SUDO USER shell脚本 - :

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

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

如果我在SUDO保留的脚本中的硬编码路径变量值一切正常。但我不希望这样。:

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

0 个答案:

没有答案