.
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
4 sty 21:21
Trivial: Pomijam już przy tym WTF−owość basha...
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
4 sty 21:28
Trivial: Witaj.
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.
4 sty 22:41
4 sty 22:43