데이터
1
\begin{document}
3
암호
#!/bin/bash
function getStart {
local START="$(awk '/begin\{document\}/{ print NR; exit }' data.tex)"
echo $START
}
START2=$(getStart)
echo $START2
복귀 2
하지만 3
실패의 결말을 바꿨다.답변~에 대한Bash 스크립트에 숫자를 추가하는 방법:
START2=$((getStart+1))
Bash 스크립트에 지역 변수를 추가하는 방법은 무엇입니까?
답변1
2
나는 당신의 코드에서 그것을 얻었습니다. 그럼에도 불구하고 어떤 변수나 숫자에도 동일한 기술을 사용할 수 있습니다.
local start=1
(( start++ ))
또는
(( ++start ))
또는
(( start += 1 ))
또는
(( start = start + 1 ))
그렇지 않으면
local start=1
echo $(( start + 1 ))
등.
답변2
노력하다:
START2=$(( `getStart` + 1 ));
bash에게 산술 연산을 수행하고 싶다고 알리는 $(( ))
백틱은 bash에게 포함된 표현식(사용자 정의 함수인지 외부 프로그램에 대한 호출인지)을 평가하고 stdout의 내용을 반환하도록 지시합니다.
답변3
이것은 안전한 선택입니다
(( start = start + 1 ))
오류 종료를 설정하면 결과 값이 0이 아닌 경우 스크립트가 중지됩니다.
set -e
start=0
(( start++ ))
echo You will never get here