Poniżej znajduje się pseudo-kod dla tego, co próbuję osiągnąć:
#!/bin/bash
# I already have the variable below figured out (positive integer):
numlines=$([returns number of lines containing specific characters in a file])
# This is basically what I want to do with it:
for i in {1..$numlines}; do
# the part below is already figured out as well:
do some other stuff
done
Mogę wykonać to dobrze z wiersza poleceń, wstawiając rzeczywistą liczbę w sekwencji `{1..n} '. Muszę tylko wiedzieć, czy można tu dołączyć zmienną i jak to zrobić.
- Próbowałem
export
tego - Próbowałem umieścić samą zmienną w nawiasach klamrowych wewnątrz sekwencji:
{1..${numlines}}
- Próbowałem umieścić go w cudzysłowie, mając nadzieję, że rozwinie się:
{1.."$numlines"}
- Próbowałem uciec od
$
:{1..\$numlines}
Czy muszę używać set -[something]
polecenia, aby ta zmienna została rozwinięta? Próbowałem nawet niektórych form używania eval
... wszystko bezskutecznie.
Muszę tylko wiedzieć, czy brakuje mi czegoś prostego lub niejasnego, czy też jest to możliwe, zanim stracę na to więcej czasu.
Mógłbym opracować naprawdę bardzo hackerski sposób, aby działał zgodnie z potrzebami, ale chciałbym tego uniknąć, jeśli to w ogóle możliwe, i nauczyć się, jak to zrobić.