Processing math: 100%

Embedded : : Linux/: : Linux

[shell script] """@"의 차이

Jay.P Morgan 2024. 10. 12. 06:26

 

 

 

흔히 @를 구분 없이 많이 사용하고 있는데, 사실 약간은 다르다. 레퍼런스에 보면 아래와 같이 정의되어 있다.

"$*"	All the positional parameters (as a single word) *
"$@"	All the positional parameters (as separate strings)

무슨 뜻이냐면, parameter,@는 별도의 문자로 취급한다는 의미다. (응?)

 

다시말해, parameter.@는 공백으로 구분된 별도의 문자열로 취급한다는 의미다. 아래와 같은 스크립트 코드가 있다.

#!/bin/sh

echo "================="
echo "\$@ section"
echo "================="
for param in "$@"
do
	echo $param,
done

echo "================="
echo "\$* section"
echo "================="
for param in "$*"
do
	echo $param,
done

이 스크립트를 실행시켜보자.

$ ./prog aa bb cc

결과는 아래와 같다.

root@localhost:tmp# ./prog aa bb cc
=================
$@ section
=================
aa,
bb,
cc,
=================
$* section
=================
aa bb cc,
root@localhost:tmp#

예제처럼 @N,*는 모든 parameter를 한개의 스트링으로 인식한다. 경우에 맞도록 사용하면 되겠다.

 

 

https://jybaek.tistory.com/477

 

[sh] """@"의 차이

흔히 @를 구분 없이 많이 사용하고 있는데, 사실 약간은 다르다. 레퍼런스에 보면 아래와 같이 정의되어 있다. ""Allthepositionalparameters(asasingleword)"@"All the positional parameters (as separate s

jybaek.tistory.com

 

'Embedded : : Linux > : : Linux' 카테고리의 다른 글

[bash] 유용한 명령어  (0) 2024.11.12
repo 명령어 정리  (3) 2024.11.12
Linux Module Programming  (0) 2024.10.11
리눅스의 디렉터리 구조  (1) 2024.10.07
Linux, 부팅, Swap, Dependency, Boosting  (0) 2024.04.24