Linux 无法以用户身份执行shell脚本
我已经为环境设置创建了一个脚本。我需要Oracle作为脚本的一部分进行安装。下面是我写的剧本请原谅我的错误,我是新来的。问题是,当我执行它时,它们单独运行得很好,但总体而言,脚本在解压命令后退出并失败。有人能帮忙吗Linux 无法以用户身份执行shell脚本,linux,Linux,我已经为环境设置创建了一个脚本。我需要Oracle作为脚本的一部分进行安装。下面是我写的剧本请原谅我的错误,我是新来的。问题是,当我执行它时,它们单独运行得很好,但总体而言,脚本在解压命令后退出并失败。有人能帮忙吗 sudo -i -u oracle mkdir /home/oracle/dump sudo -i -u oracle cd /home/oracle/dump JAR1="p13390677_112040_Linux-x86-64_1of7.zip" JAR2="p133906
sudo -i -u oracle mkdir /home/oracle/dump
sudo -i -u oracle cd /home/oracle/dump
JAR1="p13390677_112040_Linux-x86-64_1of7.zip"
JAR2="p13390677_112040_Linux-x86-64_2of7.zip"
folder="/home/oracle/database"
if test -s "$JAR1"
then
echo "$JAR1 exists"
else
sudo -i -u oracle
wget XXXp://XXXXXX/XXXXXX/download/database/11.2.0.4/p13390677_112040_Linux-x86-64_1of7.zip
fi
if test -s "$JAR2"
then
echo "$JAR2 exists"
else
sudo -i -u oracle
wget XXXp://XXXXXXX/software/download/database/11.2.0.4/p13390677_112040_Linux-x86-64_2of7.zip
fi
if test -s "$folder"
then
echo "$folder exists"
else
unzip /home/oracle/p13390677_112040_Linux-x86-64_1of7.zip
unzip /home/oracle/p13390677_112040_Linux-x86-64_2of7.zip
fi
sudo -i -u oracle ORACLE_HOSTNAME=`hostname`
sudo -i -u oracle ./runInstaller $ORACLE_HOSTNAME -silent -responseFile /home/oracle/db.rsp
cd /opt/db/oraInventory
./orainstRoot.sh
cd /opt/db/oracle/11.2.0
./root.sh
如果你把代码放在一个代码块中,那么可读性会更好,在每行代码前插入4个空格。我认为问题出在这行:unzip/home/oracle/p13390677\u 112040\u Linux-x86-64\u 1of7.zip unzip/home/oracle/p13390677\u 112040\u Linux-x86-64\u 2of7.zip看起来有两个命令在同一行代码上,所以第二个永远不会被执行。若要解决此问题,请在命令之间插入分号或将它们放在单独的行中。解压部分已成功完成。解压后脚本将退出。这两个文件提到解压有一个数字的差异。