【问题标题】:Bash Script Conflict [duplicate]Bash脚本冲突[重复]
【发布时间】:2018-08-02 16:43:13
【问题描述】:

我正在尝试编写一个 bash 脚本来创建文件夹并安装软件。安装软件需要超级用户权限,但不能以超级用户身份创建文件夹。

这里是一个脚本示例:

#!/bin/bash/
cd ~
mkdir Documents
pacman -S firefox

有人知道如何克服这个冲突吗?

【问题讨论】:

  • 您绝对可以以 root 身份创建文件夹,但如果您只想让部分脚本以 root 身份运行,只需将 sudo 放在这些命令的前面。

标签: bash shell


【解决方案1】:

您可以在脚本中使用sudo 以仅以root 身份运行pacman 命令,而不是以root 身份运行整个脚本:

#!/bin/bash
mkdir ~/Documents
sudo pacman -S firefox

这样Documents/ 文件夹将在您用户的主目录中创建,然后系统会提示您输入root 密码,以便以超级用户身份执行pacman 命令。


注意:

正如 @jeremysprofile 在 cmets 中所述:

你绝对可以将文件夹设置为 root

我想问题是您希望在用户的主目录中创建 Documents/ 文件夹。但是,如果您以 root 身份运行脚本,~ 将扩展到超级用户的主目录:/root/。所以这是您将使用当前脚本创建的 Documents/ 文件夹的位置。

【讨论】:

  • 这成功了!非常感谢。
猜你喜欢
  • 1970-01-01
  • 2014-03-02
  • 1970-01-01
  • 1970-01-01
  • 2020-04-02
  • 2011-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多