Skocz do zawartości

[Bash]Zmienne w nazwach zmiennych


Draconis

Rekomendowane odpowiedzi

Witam.

Piszę niezbyt skomplikowany skrypt do szkoły i mam drobny problem.

Mam zmienne, które są właściwe stałe.

A00, A01 ... A09

A10, A11 ... A19

...

z wartościami tekstowymi.

 

Mam też zmienne x i y, które przybierają jednocyfrowe wartości

Mam też kod:

       
       k='    A$x$y # Próbowałem tu różnych kombinacji, lecz żadna nie dawała oczekiwanych rezultatów
       echo $k     # -----------------------------------||-----------------------------------------

Czy jest możliwe, i jeżeli jest, wyświetlenie zawartości zmiennej odpowiadającej k, zamiast k?

Przykładowo, jeżeli A00="__________" i chciałbym, żeby to zostało wyświetlone, zamiast "$A00"

 

Pozdrawiam i dziękuję za wszelką pomoc.

Odnośnik do komentarza
Udostępnij na innych stronach

@Raalsky

Nie, nic nie pomyliłem, skrypt ma być w Bashu

 

@gnysek

Niestety nie o to mi chodzi, działałoby gdybym z góry wiedział co chcę wyświetlić

Może lepiej umieszczę większy kawałek kodu, omijając zbędne rzeczy.

A00="aa"
A01="ab"
A02="fa af" #wartości są inne, i jest więcej zmiennych, ale to uproszczenie
...
x=0 #w kodzie zamiast 0 jest losowana liczba.
y=0
while [ $y -le  9 ]; do
k='$'A$x$y
echo $k
y=$[y + 1]
done

 

W wyniku mam teraz

$A00
$A01
$A02
$A03
$A04
$A05
$A06
$A07
$A08
$A09

A chciałbym mieć

aa
ab
fa fa ...

 

Próbowałem już wcześniej kombinacji w stylu ${k},${$k}(jakkolwiek głupio to wygląda to i tak nie działa)i innych, zmieniałem też k='$'A$x$y na k=A$x$y bądź z jakąś inną kombinacją cudzysłowów, apostrofów obu rodzajów itp.

k=A$x$y

echo ${k}

...

Odnośnik do komentarza
Udostępnij na innych stronach

Już próbowałem, niestety w Bashu w zmiennej $$ zawarty jest ID procesu

A=3

więc

kiedy id procesu wynosi 3660

echo $$A da mi 3660A

echo $$$A da natomiast 36603.

 

Mam inny pomysł na skrypt, ale w tamtym jeszcze mniej się orientuję.

Pobieram pierwszą komórkę z pliku komendą:

li=`head -n 1 plik`

Wie ktoś może, czy da się usunąć pierwszą linijkę z pliku a pozostałe przesunąć w górę?

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...