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

관련 정보