Saver
(Saver)
2 Styczeń 2011 22:09
#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
(nintyfan)
3 Styczeń 2011 11:53
#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
(Saver)
3 Styczeń 2011 15:18
#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
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"
nr47
(Sawyer47)
3 Styczeń 2011 15:23
#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
(Saver)
3 Styczeń 2011 15:44
#5
nr47:
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)
ale evel jest do wykonywania zadań np. eval “cat cos”, albo evel “rm rv /*”
Dziękuje wam za pomoc
Działa już wszystko
nr47
(Sawyer47)
3 Styczeń 2011 15:55
#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
(Saver)
3 Styczeń 2011 16:04
#7
nr47:
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
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