Jeśli mam tablicę z 5 elementami, na przykład: [a][b][c][d][e] Za pomocą echo ${myarray[4]}Widzę, co trzyma. Ale co, jeśli nie znam liczby elementów w danej tablicy? Czy istnieje sposób odczytu ostatniego elementu tablicy o nieznanej długości? tj. Pierwszy element odczytuje od prawej do lewej dla dowolnej tablicy? Chciałbym wiedzieć, jak to …
Jestem nowy w bash i nie mogę znaleźć dobrego samouczka, aby odpowiedzieć na moje pytanie. array=( item1 item2 item3) for name in ${array[@]}; do echo current/total ... some other codes done Chcę obliczyć wartość „bieżącą” i „całkowitą”, ponieważ oczekiwany wynik tego: 1/3 2/3 3/3 Dzięki za wszelkie wskazówki
unset array[0]usuwa element, ale mimo to echo ${array[0]}otrzymuję wartość null, są też inne sposoby, ale jeśli element tablicy zawiera spacje takie jak poniżej array[0]='james young' array[1]='mary' array[2]='randy orton' ale one również nie wykonują zadania array=${array[@]:1} #removed the 1st element teraz chcę, żeby nowa tablica była jak array[0]='mary' array[1]='randy orton' Spacje …
Mam tablicę „opcji” polecenia. my_array=(option1 option2 option3) Chcę wywołać to polecenie w skrypcie bash, używając wartości z tablicy jako opcji. Tak więc command $(some magic here with my_array) "$1"staje się: command -option1 -option2 -option3 "$1" Jak mogę to zrobić? Czy to możliwe?
Mam dwa serwery (Debian) Linux. Tworzę skrypt powłoki. Na pierwszym tworzę tablicę w ten sposób: #!/bin/bash target_array=( "/home/user/direct/filename -p123 -r" ) To działa dobrze. Ale kiedy uruchomię to na innym serwerze, otrzymuję: Syntax error: "(" unexpected O ile mogę stwierdzić, oba serwery są takie same. Czy ktoś może rzucić nieco …
Z mojego doświadczenia z nowoczesnymi językami programowania i skryptów, uważam, że większość programistów jest przyzwyczajona do określania pierwszego elementu tablicy przez 0 jako indeksu. Czy korzystanie z 1 ma jakieś istotne zalety ? Jestem pewien, że słyszałem, że więcej języków innych niż Zsh zachowuje się podobnie do tablic; jest to …
Próbuję użyć tablic w powłoce Bourne'a ( /bin/sh). Odkryłem, że sposobem na zainicjowanie elementów tablicy jest: arr=(1 2 3) Ale napotyka błąd: syntax error at line 8: `arr=' unexpected Teraz post, w którym znalazłem tę składnię, mówi, że jest bash, ale nie mogłem znaleźć żadnej osobnej składni dla powłoki Bourne'a. …
Mam tę tablicę: declare -A astr Dodaję do niego elementy: astr[elemA]=123 astr[elemB]=199 Ale później muszę wiedzieć, jakie są identyfikatory indeksów (elemA i elemB) i wymienić je. echo "${astr[@]}" #this only get me the values...
System operacyjny : Ubuntu 16.04.3 Powłoka : Bash 4.3.48 Wiem, że można tymczasowo zmienić zawartość zmiennej jak w var=value command, prawdopodobnie jest IFS= read -r varto najbardziej znaczący przypadek. I dzięki wiki Grega , rozumiem też: # Why this foo() { echo "$var"; } var=value foo # And this does …
Jak mogę uzyskać kawałek $@Basha bez konieczności kopiowania wszystkich parametrów pozycyjnych do innej tablicy, takiej jak ta? argv=( "$@" ) echo "${argv[@]:2}";
W awk mogę wyczyścić tablicę za pomocą pętli, co czyni ją pustą tablicą, co jest równoważne z jej usunięciem. for (key in array) delete array[key]; Czy istnieje prostszy sposób? Czy mogę całkowicie usunąć tablicę, aby nazwa zmiennej mogła być ponownie użyta do skalara?
Akceptowana odpowiedź na przekształcenie tablicy w argumenty polecenia? używa następującego polecenia Bash: command "${my_array[@]/#/-}" "$1" Staram się dowiedzieć, co /#/-dokładnie robi ta część. Niestety nie wiem, jak to nazwać, więc mam problem ze znalezieniem dokumentacji. Przejrzałem sekcję strony podręcznika Bash na temat tablic i kilku stron internetowych, ale nic nie …
Czy istnieje sposób na wydrukowanie całej tablicy ([klucz] = wartość) bez zapętlania wszystkich elementów? Załóżmy, że utworzyłem tablicę z niektórymi elementami: declare -A array array=([a1]=1 [a2]=2 ... [b1]=bbb ... [f500]=abcdef) Mogę wydrukować całą tablicę za pomocą for i in "${!array[@]}" do echo "${i}=${array[$i]}" done Wydaje się jednak, że bash już …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.