Jak dodać drugi numer GG do case w bashu?


(Saver) #1

Witam, mam problem, a więc mam bota gg w ekg i mam kilka poleceń co są dostępne tylko do wyznaczonego numeru gg, ale chce dodać następny numer gg, próbowałem już dublować poniższy kod ale pokazywało problem w komunikatorze gg.

Wie może ktoś jak zrobić aby np. kilka poleceń były dostępne tylko dla kilku numerów gg, bo teraz w case mam tylko jeden numer gg?

case $1 in)

(nintyfan) #2

Stosując if-a? Nie korzystam z case w Bash-u(i nie lubię konstrukcji switch-case, itd.), ale case chyba pozwala na kilka poziomów zagnieżdżeń lub zagnieżdżać inne bloki w nim?


(Saver) #3

Zrobiłem że bot już nie odpisuje botom, i już nie powstaje pętla, ale nie wiem jak inaczej zrobić i zrobiłem że zapisuje wiadomości napisane przez boty, i nawet mi to pasuje :wink:

elif [ "$1" = "100" ]; then

eval "echo '$2' >> /home/bot/botu/infobotwpisy.txt"

elif [ "$1" = "202" ]; then

eval "echo '$2' >> /home/bot/botu/blipbotwpisy.txt"

elif [ "$1" = "6600" ]; then

eval "echo '$2' >> /home/bot/botu/ezobotwpisy.txt"

elif [ "$1" = "729" ]; then

eval "echo '$2' >> /home/bot/botu/airbotwpisy.txt"

elif [ "$1" = "801" ]; then

eval "echo '$2' >> /home/bot/botu/karolinabotwpisy.txt"

I teraz chce zrobić aby każda wiadomość była zapisywana, tylko nie wiem jak to zrobić, próbowałem już tak, ale nie działa. 

elif ["$2" = all]; then

eval "echo '$2' >> /home/bot/botu/bot.txt"

(Sawyer47) #4

Jeśli chcesz, aby w każdym przypadku wiadomość była zapisywana, to nie ma żadnego warunku - logiczne.

// edit:

Ekspertem od basa nie jestem, ale to eval jest raczej zbędne.

No i o wiele zwięźlej byłoby z użyciem case: http://bash.0x1fff.com/case (w sumie tego dotyczy główne pytanie)


(Saver) #5

ale evel jest do wykonywania zadań np. eval "cat cos", albo evel "rm rv /*" :wink:

Dziękuje wam za pomoc :slight_smile:

Działa już wszystko :slight_smile:


(Sawyer47) #6

Tak, tylko jeśli to jest skrypt basha, to jego wykonanie polega właśnie na uruchomieniu zawartych w nich komend i eval jest zbędne w tym przypadku.

Przykład:

case $[$RANDOM % 3] in

"0") echo 0 >> somefile ;;

"1") echo 1 > somefile ;;

*) echo "default"

esac

(Saver) #7

Aha, dzięki.

Mam prośbę, mógłbyś przetestować bota czy pokazuje poprawne wiadomości? To jest bot z komendami CLI na Linuxa, numer gg to 3522268.

Jak znajdziesz jakąś niepoprawną informację to proszę o zgłoszenie mi tego, z góry dziękuje :slight_smile: