相关疑难解决方法(0)

“sh -c”不会扩展位置参数,如果我从“sudo --login”运行它。有没有解决的办法?

我写了一个使用位置参数的“内联脚本”,例如

$ sudo sh -c 'echo "p0=$0" && echo "p1=$1" && echo "p2=$2" && echo "all=$@"' sh 1 2
p0=sh
p1=1
p2=2
all=1 2
Run Code Online (Sandbox Code Playgroud)

我实际上想使用sudo --login. 但是位置参数不起作用。有没有办法让它们工作?

(如果该行为在某处被记录或标准化,我也​​很感兴趣)。

$ sudo --login sh -c 'echo "p0=$0" && echo "p1=$1" && echo "p2=$2" && echo "all=$@"' sh 1 2
p0=-bash
p1=
p2=
all=1 2
Run Code Online (Sandbox Code Playgroud)

软件版本:

$ sh --version
GNU bash, version 5.0.7(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This …
Run Code Online (Sandbox Code Playgroud)

sudo shell-script

6
推荐指数
1
解决办法
420
查看次数

标签 统计

shell-script ×1

sudo ×1