在shell bin / bash脚本[linux]中使用chown&chmod

问题描述 投票:0回答:1

我知道这个问题已经被回答,但是我在stackoverflow或其他网站上都找不到答案。

我有以下脚本,我尝试将其启动为sudo,bash,授予它0777特权等。Internet上的所有答案均无作用。谁能帮助我如何使chown -R $defuser:$defuser $defsd工作并执行?

谢谢

#!/bin/bash
# bot
##############################
borderline="========================================"
defd="/opt/bot-instances"
defsd="/opt/bot-instances/bot"
defsf="/opt/bot-instances/bot/bot"
defuser="botnew"

sudo apt-get update
sudo apt-get install -y x11vnc xvfb libxcursor1 ca-certificates curl bzip2 libnss3 libegl1-mesa x11-xkb-utils libasound2 libpci3 libxslt1.1 libxkbcommon0 libxss1 libxcomposite1
sudo update-ca-certificates
sudo apt-get install libglib2.0-0
sudo apt-get install python
#######################
###### functions ######
#######################

############
# Installs #
############
installfrombeginning (){
mkdir $defd
mkdir $defsd
adduser --disabled-login $defuser 
sudo chown -R $defuser:$defuser $defsd
sudo chown -R $defuser:$defuser $defd
sudo chown -R $defuser:$defuser $defsf
cd $defsd
chmod 0755 $defuser
.
.
.
}
.
.
.

当我尝试运行脚本并启动机器人时:

su root
./script.sh
.
.
.
su botnew
./bot
Error: Could not create directory /opt/bot-instances/bot/data//db; mkdir /opt/bot-instances/bot/data//db: permission denied

注意:函数本身起作用并且被执行,只有chown不起作用。我尝试通过consolue / putty使用chown外部,但是比它有用,但从来没有通过脚本使用。

我知道这个问题已经得到解答,但是我在stackoverflow或其他网站上都找不到任何答案。我有以下脚本,我尝试将其启动为sudo,bash,...

bash bin
1个回答
0
投票

@@ CharlesDuffy这是脚本的主要部分,因此您可以进行测试。

#!/bin/bash
# Sinusbot
##############################
borderline="========================================"
defd="/opt/sinusbot-instances"
defsd="/opt/sinusbot-instances/sinusbot"
defsf="/opt/sinusbot-instances/sinusbot/sinusbot"
defuser="sinusbotnew"

#sudo apt-get update
#sudo apt-get install -y x11vnc xvfb libxcursor1 ca-certificates curl bzip2 libnss3 libegl1-mesa x11-xkb-utils libasound2 libpci3 libxslt1.1 libxkbcommon0 libxss1 libxcomposite1
#sudo update-ca-certificates
#sudo apt-get install libglib2.0-0
#sudo apt-get install python
#######################
###### functions ######
#######################

############
# Installs #
############
installfrombeginning (){
sudo mkdir -p $defd
sudo mkdir -p $defsd
adduser --disabled-login $defuser 
sudo chown -R $defuser:$defuser $defsd
sudo chown -R $defuser:$defuser $defd
cd $defsd
sudo chmod 0755 $defuser
wget https://www.sinusbot.com/dl/sinusbot.current.tar.bz2
tar -xjf sinusbot.current.tar.bz2
cp config.ini.dist config.ini
wget https://files.teamspeak-services.com/releases/client/3.3.2/TeamSpeak3-Client-linux_amd64-3.3.2.run
sudo chmod 0755 TeamSpeak3-Client-linux_amd64-3.3.2.run
./TeamSpeak3-Client-linux_amd64-3.3.2.run
rm TeamSpeak3-Client-linux_amd64/xcbglintegrations/libqxcb-glx-integration.so
mkdir TeamSpeak3-Client-linux_amd64/plugins
cp plugin/libsoundbot_plugin.so TeamSpeak3-Client-linux_amd64/plugins/
su $defuser
./sinusbot
^c
echo "done"
}
freetogo (){
/opt/sinusbot-instances/sinusbot/sinusbot
}
#
#installsincedefsd (){
#
#}
#
#installsincedefsf (){
#
#}
############
### check ##
############
checker (){
if [ -d "$defd" ] 
    then
        if [ -d "$defsd" ]
            then
                if [ -f "$defsf" ]
                    then 
                        freetogo
                    else
                        installsincedefsf
                        checker
                fi


            else
                installsincedefsd
                checker

        fi


    else
        installfrombeginning
        checker

fi
}

##########


checker 
© www.soinside.com 2019 - 2024. All rights reserved.