2013-09-06 16 views
5

Jestem bardzo nowy w bashowaniu skryptów, a ponieważ szukałem informacji w Internecie, znalazłem wiele pozornie sprzecznych porad. Rzeczą, której najbardziej się mylę, jest $ przed nazwami zmiennych. Moje główne pytanie brzmi: kiedy jest i nie jest właściwe stosowanie tej składni? Dzięki!

Odpowiedz

7

Zasadniczo jest używany w odniesieniu do zmiennej, ale nie przy jej definiowaniu.

Po zdefiniowaniu zmiennej nie używasz go:

value=233 

Trzeba je wykorzystać podczas rozmowy zmienną:

echo "$value" 

istnieją pewne wyjątki od tej podstawowej zasady. Na przykład w wyrażeniach matematycznych, jako etarion comments.


jeszcze jedno pytanie: czy mogę zadeklarować my_array tablicy i iterację go z licznikiem i, że wezwanie do tego trzeba być $ my_array [$ i]?

Patrz przykład:

$ myarray=("one" "two" "three") 
$ echo ${myarray[1]}  #note that the first index is 0 
two 

iterację niego, ten kod sprawia, że:

for item in "${myarray[@]}" 
do 
    echo $item 
done 

W naszym przypadku:

$ for item in "${myarray[@]}"; do echo $item; done 
one 
two 
three 
+0

Dzięki, jeszcze jedno pytanie: jeśli zadeklaruję tablicę my_array i przetestuję ją za pomocą licznika i, czy wywołanie musi mieć wartość $ my_array [$ i]? – thnkwthprtls

+0

@thnkwthprtls zobacz moją zaktualizowaną odpowiedź. Prawie go miałeś. – fedorqui

+2

To nie jest całkowicie poprawne. Na przykład w kontekście matematycznym nie używa się go w odniesieniu do zmiennej - 'x = 2; y = 1; let z = ++ x * ++ y; echo $ z' – etarion

1

jestem żaden użytkownik bash to za dużo wie. Ale za każdym razem, gdy zadeklarujesz zmienną, nie użyjesz $, a gdy chcesz wywołać tę zmienną i użyć jej wartości, użyjesz znaku $.

Powiązane problemy