
다음과 같은 표현이 있습니다.
a="2013"
a
의 값을 어떻게 변경할 수 있습니까 "2012"
?
답변1
쉘 연산은 간단합니다 $(())
.
a=$(($a-1))
답변2
Joseph R.이 제안한 표준을 사용 $(())
하거나 일부 쉘( ksh
, bash
, zsh
)의 경우 다음을 사용할 수 있습니다 let
.
$ a="2013"
$ let a--; ## Or let "a=$a-1"
$ echo "$a"
2012
답변3
산술 확장을 사용하는 깔끔한 방법은 다음과 같습니다.
a=$((a-1))
아니면 단순히
((--a))
후자 구문은 POSIX에서 필수가 아니지만 최소한 ksh
및 에서는 지원 됩니다 bash
.