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!
5
A
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
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
- 1. wartości kopiowania między zmiennymi w skrypcie bash
- 2. Uruchamianie programu IDL z bash ze zmiennymi
- 3. Dlaczego PHP ma znak $ przed zmiennymi?
- 4. Kiedy używać node.js i kiedy używać ajax?
- 5. kiedy używać zadania i kiedy używać wątku?
- 6. Kiedy używać viewDidLoad i kiedy używać awakeFromNib
- 7. Kiedy używać Q_NULLPTR?
- 8. Kiedy należy używać JCR i kiedy należy używać JPA/RDBMS?
- 9. Kiedy używać Formatera wartości i kiedy używać Resolvera wartości
- 10. PHP: Kiedy używać funkcji i kiedy używać metod statycznych?
- 11. Kiedy używać undef_method i kiedy używać metody remove_method?
- 12. Kiedy używać komponentów Seaside i kiedy używać prostych obiektów renderowania?
- 13. Kiedy używać tablicy bajtów i kiedy używać strumienia?
- 14. Kiedy używać LEFT JOIN i kiedy używać INNER JOIN?
- 15. Konwencja dotycząca celu C: kiedy używać i kiedy używać z
- 16. Kiedy używać Class.isInstance() i kiedy używać operatora instanceof?
- 17. Kiedy używać Requirejs i kiedy używać dołączonego javascript?
- 18. Kiedy używać JMS i kiedy używać usługi REST?
- 19. Kiedy używać algorytmów genetycznych a kiedy używać sieci neuronowych?
- 20. Kiedy używać klienta boto3 i kiedy używać zasobu Boto3?
- 21. Kiedy używać czystej rekursji i kiedy używać pętli/recur?
- 22. Kiedy używać dup i kiedy używać klonu w Ruby?
- 23. Kiedy NIE używać MVVM?
- 24. C++: kiedy używać wskaźników?
- 25. Kiedy używać StringBuilder?
- 26. Kiedy należy używać _aligned_malloc()?
- 27. Kiedy używać języka Processing?
- 28. Kiedy używać kontenera IOC?
- 29. Kiedy używać NSEnumerationConcurrent
- 30. Kiedy używać Akka Microkernel?
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
@thnkwthprtls zobacz moją zaktualizowaną odpowiedź. Prawie go miałeś. – fedorqui
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