我正在尝试编写一个bash脚本,该脚本创建文件夹并安装软件。安装该软件需要超级用户特权,但是无法以超级用户身份创建文件夹。
以下是脚本的示例:
#!/bin/bash/
cd ~
mkdir Documents
pacman -S firefox
有人知道如何克服这一冲突吗?
答案 0 :(得分:1)
除了以root身份运行整个脚本之外,还可以在脚本中使用sudo
以root身份仅运行pacman
命令:
#!/bin/bash
mkdir ~/Documents
sudo pacman -S firefox
这样,将在用户的主目录中创建Documents/
文件夹,然后提示您输入root密码,以便以超级用户身份执行pacman
命令。
如@jeremysprofile在评论中所述:
您绝对可以将文件夹设置为root
我想问题是您希望在用户的主目录中创建Documents/
文件夹。但是,如果您以root用户身份运行脚本,则~
会扩展到超级用户的主目录:/root/
。因此,在这里您将使用当前脚本创建Documents/
文件夹。