Dane
1 \begin{document} 3 Kod
#!/bin/bash function getStart { local START="$(awk "/begin\{document\}/{ print NR; exit }" data.tex)" echo $START } START2=$(getStart) echo $START2  co zwraca 2, ale chcę 3. Bezskutecznie zmieniam koniec na tę  odpowiedź  na temat  Jak mogę dodać liczby w skrypcie basha : 
START2=$((getStart+1)) Jak można zwiększyć lokalną zmienną w skrypcie Bash?
Komentarze
Odpowiedź
 Otrzymuję 2 z kodu. Niemniej jednak możesz użyć tej samej techniki dla dowolnej zmiennej lub liczby: 
local start=1 (( start++ )) lub
(( ++start )) lub
(( start += 1 )) lub
(( start = start + 1 )) lub po prostu
local start=1 echo $(( start + 1 )) itd.
Komentarze
- Może to również pomóc: askubuntu.com/questions/385528/…
Odpowiedź
Spróbuj:
START2=$(( `getStart` + 1 ));  $(( )) mówi bashowi, że ma wykonać operację arytmetyczną, podczas gdy lewy apostrof mówi bashowi, aby obliczył zawarte w nim wyrażenie, be i t funkcja zdefiniowana przez użytkownika lub wywołanie programu zewnętrznego i zwraca zawartość standardowego wyjścia. 
Odpowiedź
To jest bezpieczny zakład
(( start = start + 1 )) Jeśli wynikowa wartość jest różna od zera, ustawienie wyjścia w przypadku błędu zatrzyma Twój skrypt
set -e start=0 (( start++ )) echo You will never get here 
awk?sed -n '/begin{document}/{=;q}' data.textznacznie krócej…}/{=;q}to w odpowiedzi / komentarzu, proszę?