Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
BASH - zmiena w nazwie tablicy
Autor Wiadomość
dragonn Offline
Przyjaciel

Liczba postów: 709
Dołączył: 04-02-2009
Reputacja: 12
Post: #1
BASH - zmiena w nazwie tablicy
A więc tak mam kilka tablic w jednym pliku (/etc/rc.conf):
Kod:
DAEMONS=(acpid !readahead-list-x-server)
DAEMONSSTOP=(crond acpid dbus hal cpufreq laptop-mode alsa wicd mpd bluetooth pacman-update openntpd ram-firefox)
DAB=(other-modules dbus cpufreq alsa laptop-mode  wicd readahead-list-desktop)
DAG=(crond bluetooth pacman-update openntpd ram-firefox ufw laptop-mode-restart)
Wczytuję je do skryptu z pomocą:
Kod:
. /etc/rc.conf
I teraz chcę zliczyć liczbę elementów tablicy którą podam jako argument do skryptu. Próbowałem na różny sposoby ale żaden nie działa:
Kod:
echo ${"$1"[*]} | wc -w
echo ${'$1'[*]} | wc -w
echo ${$(echo $1)[*]} | wc -w
echo ${"$(echo $1)"[*]} | wc -w
echo ${'$(echo $1)'[*]} | wc -w
Ale w wszystkich przypadkach dostaje:
Kod:
-bash: ${"$(echo $1)"[*]}: złe podstawienie
Macie ktoś jakiś pomysł jak to zrobić?

[Obrazek: archuserbar1hq2.png]
22.01.2011 17:09:49
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Enlik Offline
„techniczny”
*******

Liczba postów: 1 043
Dołączył: 12-12-2008
Reputacja: 26
Post: #2
RE: BASH - zmiena w nazwie tablicy
eval pewnie da radę

[Obrazek: zeDGS.png]
Please don't steal my focus!
| git
22.01.2011 18:08:54
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
dragonn Offline
Przyjaciel

Liczba postów: 709
Dołączył: 04-02-2009
Reputacja: 12
Post: #3
RE: BASH - zmiena w nazwie tablicy
Coś już czytałem o tym eval, ale nie wiem jak się do tego zabrać. Może mała podpowiedź Smile?

[Obrazek: archuserbar1hq2.png]
22.01.2011 18:46:19
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Kwpolska Offline
NIE MA MENU

Liczba postów: 301
Dołączył: 11-09-2010
Reputacja: 16
Post: #4
RE: BASH - zmiena w nazwie tablicy
Wywal NAZWATABELI=( oraz ) sedem, a potem do wc -w.

Debian(opodobne) i problemy z WiFi? Zajrzyj do wiki.
Jeśli ci pomogłem - polecam pacnąć w takiego pana trochę niżej: [Obrazek: postbit_reputation.gif]
22.01.2011 19:29:57
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
dragonn Offline
Przyjaciel

Liczba postów: 709
Dołączył: 04-02-2009
Reputacja: 12
Post: #5
RE: BASH - zmiena w nazwie tablicy
Kwpolska to jest obejście problemu a nie rozwiązanie, niezbyt mnie to satysfakcjonuje.

EDIT
Mam:
Kod:
eval echo '${'"$1"'[*]}' | wc -w
Enlik dzięki za naprowadzenie.

[Obrazek: archuserbar1hq2.png]
(Ten post był ostatnio modyfikowany: 22.01.2011 21:09:12 przez dragonn.)
22.01.2011 19:47:14
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Enlik Offline
„techniczny”
*******

Liczba postów: 1 043
Dołączył: 12-12-2008
Reputacja: 26
Post: #6
RE: BASH - zmiena w nazwie tablicy
nawet lepiej będzie tak:
Kod:
eval echo '${#'"$1"'[*]}'

[Obrazek: zeDGS.png]
Please don't steal my focus!
| git
(Ten post był ostatnio modyfikowany: 22.01.2011 22:52:20 przez Enlik.)
22.01.2011 22:51:53
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  pętla względem tablicy akasei 3 116 20.04.2012 12:45:54
Ostatni post: Enlik
  [solved][BASH] aktualizowanie czasu co 10 min waldi11 2 397 19.11.2011 21:01:13
Ostatni post: waldi11
  Bash wyswietlanie nr lini w ktorym znajduje sie dany wyraz?? rryk 6 2 281 31.10.2011 12:56:18
Ostatni post: wrosiak
  [BASH] Zablokowanie wylaczenie komputera... rryk 10 547 26.09.2011 18:33:46
Ostatni post: Lachu
  [ROZWIĄZANE] [BASH] - dowolny - Kawałek stringa do zmiennej rewers79 2 683 15.06.2011 14:16:00
Ostatni post: rewers79
  BASH-sortowanie bąbelkowe Pitek016 2 844 20.04.2011 18:10:26
Ostatni post: Pitek016
  [ROZWIĄZANE] Idealna bramka... curl,wget,bash,python,perl,php rryk 21 5 545 06.04.2011 06:53:55
Ostatni post: rryk
  [ROZWIĄZANE] [bash]Dzielenie tekstu danym znakiem Freev 4 1 493 06.03.2011 21:52:36
Ostatni post: Freev
  [ROZWIĄZANE] [Bash][C#/Gambas] Wiele pytań. eloaders 7 1 453 23.01.2011 00:07:52
Ostatni post: eloaders
  [ROZWIĄZANE] [bash/perl/python//cokolwiek] Jak z tekstu wywalic wszystkie znaki nowej linii rryk 18 3 551 28.11.2010 19:13:41
Ostatni post: rryk

Skocz do:


Użytkownicy przeglądający ten wątek: 2 gości

Kontakt | Linux360.pl - forum | Wróć do góry | Wróć do forów | Wersja bez grafiki | RSS