Linux bash zmienne parametry

Witam

Napisałem skrypt, który obsługuje serwery mumble ale mam mały problem, bo jak nazwa serwera lub welcometext lub coś innego będzie zawierało spację to cały skrypt nie powiem co strzela :stuck_out_tongue: trzeba to zastąpić czymś takim ./mumble edit +welcometext jakis tekst powitalny +port 1234 +ip 1234.32.413 tylko jak to zrobić?

 

mumble

#!/bin/bash
if ["$#" -eq 0]
then
echo ‘’
echo ‘#############################’
echo ‘# Podaj paramter:’
echo ‘-----------------’
echo ‘# start - Wlacz serwer’
echo ‘# stop - Wylacz serwer’
echo ‘-----------------’
echo ‘# edit - Instaluj serwer’
echo ‘# install - Odinstaluj serwer’
echo ‘# uninstall - Reinstaluj serwer’
echo ‘############################’
echo ‘’
else
if ["$1" = “edit”] && [-n “$2”] && [-n “$3”] && [-n “$4”] && [-n “$5”] && [-n “$6”] && [-n “$7”]
then
cd /home/mumble/$2/files
echo “User: $2”
echo “welcometext: $3”
echo “Port: $4”
echo “IP: $5”
echo “Players: $6”
echo “registerName: $7”
echo “database=
dbus=session
icesecretwrite=” > murmur.ini
echo -n welcometext=’"’ >> murmur.ini
echo -n “$3” >> murmur.ini
echo ‘"’ >> murmur.ini
echo “port=$4
host=$5
pidfile=mumble.pid
serverpassword=
bandwidth=72000
users=$6
registerName=$7
#registerPassword=secret
registerUrl=http://mumble.sourceforge.net/
registerHostname=
[Ice]
Ice.Warn.UnknownProperties=1
Ice.MessageSizeMax=65536” >> murmur.ini
fi;
if ["$1" = “start”] && [-n “$2”] && [-n “$3”]
then
cd /home/mumble/$2/files
./murmur.x86 -supw $3
./murmur.x86
echo “User: $2”
echo “supw: $3”
echo “Serwer uruchomiony”
fi;
if ["$1" = “stop”] && [-n “$2”]
then
cd /home/mumble/$2/files
I=1
for WERS in $(cat mumble.pid)
do
echo “$I\t $WERS”
I=expr $I + 1
done
echo “PID: $WERS”
kill “$WERS”
echo “serwer off”
fi;
fi;

Parametry w cudzysłowy i problem rozwiązany!

Skrypt:

#!/bin/bash
echo "Liczba przekazanych parametrów: ${#}"

Test:

./bash.sh "pierwszy drugi trzeci" "czwarty piąty" szósty
Liczba przekazanych parametrów: 3
./bash.sh pierwszy drugi trzeci czwarty piąty szósty
Liczba przekazanych parametrów: 6