Bash-Scriptはコマンドを実行しませんが、手動で入力すると機能します。

Bash-Scriptはコマンドを実行しませんが、手動で入力すると機能します。

これは私のbashスクリプトです。

#!/bin/bash
sleep 3
sudo apt-get update && echo 'y' | sudo apt-get upgrade
cd /opt/
sleep 5
wget http://dl.4players.de/ts/releases/3.0.13.6/teamspeak3-server_linux_amd64-3.0.13.6.tar.bz2
sleep 10
tar -jxvf teamspeak3-server_linux_amd64-3.0.13.6.tar.bz2
sleep 10
mv /opt/teamspeak3-server_linux_amd64 /opt/teamspeak
cd /opt/teamspeak
sudo echo 'cd /opt/teamspeak && chown -R root:root *'
sudo echo 'cd /opt/teamspeak && ./ts3server_startscript.sh start'
sudo echo 'cd /opt/teamspeak && ./ts3server_startscript.sh stop'
sudo echo 'cd /opt/teamspeak && ./ts3server_startscript.sh start serveradmin_password=XXX'

突然、最後の4つのコマンドが機能しないようです。理由をご存知ですか?手動で入力すると動作するので内容ではありません。

答え1

あなたが望むのはechoコマンドではなく実行することだと思います。この試み:

cd /opt/teamspeak && sudo chown -R root:root *
cd /opt/teamspeak && sudo ./ts3server_startscript.sh start
cd /opt/teamspeak && sudo ./ts3server_startscript.sh stop
cd /opt/teamspeak && sudo ./ts3server_startscript.sh start serveradmin_password=XXX

関連情報