matematykaszkolna.pl
. asdf: Programowanie jak przechwytywac parametry ze skryptu chodzi mi, np. ./skrypt a b c d e f $1 = a $2 = b $3 = c itd... teraz chce utworzyc tablice ktora by przechwytywala te zmienne, czyli: tab[0] = $1 tab[1] = $2 itd... $# − liczy ile jest parametrów j=1 for ((i=0;$i<=$#;i++)) do tab[$i]=$$j j=$(($j+1)) done tylko wlasnie to czerwone nie działa, wywala mi jakis kod 305304k czy cos takiego. Jak to złapać?
4 sty 20:26
Trivial: Wpisujemy w Google nasz problem: "bash dynamic variable name" i otrzymujemy jako pierwsze: http://samindaw.wordpress.com/2009/02/26/create-and-access-shell-variable-having-a-name-created-by-another-string/ Skąd już błyskawicznie for ((i=1; $i <= $#; i++)) do echo ${!i} done
4 sty 21:21
Trivial: Pomijam już przy tym WTF−owość basha... emotka
4 sty 21:22
asdf: Witaj, ni działa
4 sty 21:25
asdf: co sie czepiasz basha
4 sty 21:26
asdf: sorry, dziala emotka
4 sty 21:28
Trivial: Witaj. emotka
4 sty 22:05
asdf: da się to skrócić? for ((j=1; $j<=$#;j++)) do tab[$j]=${!j} // przechowuje parametry done alf=(a b c d e f g h i j k l m n o p r s t u w v x y z) for ((j=1; $j<=$#;j++)) do for ((i=1;$i<=${#alf[@]};i++)) do if [ ${tab[$j]} = ${alf[$(($i−1))]} ]; then echo "${tab[$j]} to $i" // sprawdza czy $1(pozniej $2 itd..) = jakaś z tablicy, i wypisuje jej numer fi done done
4 sty 22:11
asdf: ogólnie to ten skrypt wypisuje, np. ./skrypt b c d e f g h i j z p b to 2 c to 3 d to 4 e to 5 ... j to 10 z to 25 p to 16 itd.
4 sty 22:13
Trivial: Oczywiście. for ((i=1; $i <= $#; i++)) do echo "${!i} to $(($(printf "%d" \'${!i}) − 0x60))" done
4 sty 22:24
asdf: −0x60? P.S To bash.
4 sty 22:28
Trivial: na forum − zamienia na inny znak. wpisz go ręcznie.
4 sty 22:29
Trivial: Aaa, rzeczywiście to bash zapomniałem. Zatem: for ((i=1; $i <= $#; i++)) do echo "${!i} to $(($(printf %d \'${!i}) − 0x60))" done
4 sty 22:31
asdf: `
4 sty 22:32
asdf: '
4 sty 22:33
asdf: ` ten nad tyldem Ci chodzi?
4 sty 22:34
4 sty 22:35
asdf: to coś dało?
4 sty 22:38
Trivial: u mnie działa. emotka
4 sty 22:41
asdf: https://secure.join.me/829-218-134 weź wbij i wklep mi ten znak
4 sty 22:43