San*_*dra 1 linux ubuntu bash centos
我想让这些命令以ss用户身份运行root
mkdir bin
cp -r /opt/gitolite .
gitolite/install -ln
gitolite setup -pk ss.pub
mkdir -p .gitolite/hooks/common
ln -s /opt/pre-receive .gitolite/hooks/common/
Run Code Online (Sandbox Code Playgroud)
所以一切都在/home/ss. $HOME/bin从第 3 行可以看出,第4 行需要。
我可以让它工作的唯一方法是添加su -c "command" ss到每一行,这不是一个很好的技巧。
这是我之前的问题的扩展,我不够精确。
题
如何以实用的方式将所有这些命令作为脚本运行?
shell 脚本就是这样,一个 shell 脚本。这意味着您不仅可以运行普通的 shell 命令,而且还可以为正在使用的任何 shell 执行内置命令。我们可以稍微修改您的脚本,以便让所有命令都像在运行此脚本的任何用户的主目录中一样运行。
#!/bin/bash
cd $HOME
mkdir bin
cp -r /opt/gitolite .
gitolite/install -ln
gitolite setup -pk ss.pub
mkdir -p .gitolite/hooks/common
ln -s /opt/pre-receive .gitolite/hooks/common/
Run Code Online (Sandbox Code Playgroud)