Bash에서 함수 뒤의 숫자는 무엇을 합니까?

Bash에서 함수 뒤의 숫자는 무엇을 합니까?

나는 다음과 같은 코드를 발견했습니다.

function cursorBack() {
   echo -en "\033[$1D"
}
...
tput civis 
...
cursorBack 1

숫자는 무엇을 하는가?

답변1

이는 함수의 매개변수입니다. $1문자열의 echo 부분에 유의하세요. 이것은 bash 함수에서 사용되는 첫 번째 매개변수입니다. 다른 매개변수(예: cursorBack 5even ) 를 사용하여 함수를 실행해 보고 cursorBack foo어떤 일이 일어나는지 확인하세요.

echo 명령의 첫 번째 부분은 ANSI 이스케이프이고 그 뒤에 함수 인수(숫자), 마지막으로 문자가 옵니다 D. 이 문자는 뒤로 이동(문자를 삭제하지 않고 삭제라고 생각함)을 의미하므로 n 위치(예에서는 1 위치) 뒤로 이동합니다.

논리적으로 말하면 foo인수로 사용하면 예상한 대로 수행되지 않습니다. 이 특별한 경우 인수는 단지 (정수) 숫자여야 합니다.

관련 정보