Les données
1
\begin{document}
3
Code
#!/bin/bash
function getStart {
local START="$(awk '/begin\{document\}/{ print NR; exit }' data.tex)"
echo $START
}
START2=$(getStart)
echo $START2
qui renvoie 2
mais je veux 3
. Je change sans succès la fin par ceci réponse à propos Comment puis-je ajouter des nombres dans un script bash :
START2=$((getStart+1))
Comment pouvez-vous incrémenter une variable locale dans le script Bash?
Je suis en train 2
à partir de votre code. Néanmoins, vous pouvez utiliser la même technique pour n'importe quelle variable ou nombre:
local start=1
(( start++ ))
ou
(( ++start ))
ou
(( start += 1 ))
ou
(( start = start + 1 ))
ou juste
local start=1
echo $(( start + 1 ))
etc.
Essayer:
START2=$(( `getStart` + 1 ));
La $(( ))
indique à bash qu'elle doit effectuer une opération arithmétique, tandis que les astuces indiquent à bash d'évaluer l'expression contenant, que ce soit une fonction définie par l'utilisateur ou un appel à un programme externe, et renvoyer le contenu de stdout.