在 shell 脚本中使用 sudo 命令被认为是好还是坏的做法?一个优点是,如果用户以非 root 用户身份运行脚本,她或他将被要求输入密码,而不是脚本失败。另一方面,如果用户最近使用 sudo 运行了一个命令,脚本将隐式地以 root 身份运行命令,这可能不是用户所期望的。
下面是一个例子:
$ cat foo1
#!/bin/sh
sudo bar #implicit sudo
$ ./foo1
$ cat foo2
#!/bin/sh
bar
$ sudo ./foo2 #explicit sudo
Run Code Online (Sandbox Code Playgroud) 我希望以下命令将 zip 文件中顶级目录的内容提取到目标目录:
unzip file.zip topdir/\* -d destdir
Run Code Online (Sandbox Code Playgroud)
但是,我得到的是destdir/topdir
. 我正在寻找的是类似于
cp -r topdir/* destdir
Run Code Online (Sandbox Code Playgroud)
如何在没有topdir
路径的情况下提取内容?