눈바래다

큰따옴표 안에 있는 변수는 값으로 내용이 바뀌게 된다

작은따옴표 안에 있는 변수는 변수명이 그대로 사용되게 된다.

띄어쓰기 중요하다

str="Hello" 맞는 표현이다.

str = "Hello" str 명령어로 해석한다.

shell 한줄을 읽고 해석하는 가정을 거치며 = 변수지정시는 붙여쓰기를 해야 한다.

붙여쓰면 변수대입

띄어쓰면 test 비교연산이다.

 

#!/bin/bash

str="Hello"

echo "$str World"

echo '$str World'

 

[root@linuxtest kim]# ./t1.sh

Hello World

$str World

 

변수내용에 * ? 파일명에 와일드카드가 있는 경우에 인용부를 생략하면 파일명의 경로를 표시하게 된다.

경로명 표시는 와일드카드에 일치하는 파일이 있는 경우만 이루어 지고 의도하지 않는 에러를 많이 발생시키므로 되도록 사용하지 않는다.

 

touch HelloWorld.txt

message="Hello*"

echo "$message"

echo $message

rm HelloWorld.txt

echo $message

 

[root@linuxtest kim]# ./t1.sh

Hello*

HelloWorld.txt

Hello*

 

변수명은 항상 {} 감싸도록 한다

" " 큰따옴표는 작은따옴표를 감쌀수 있다. 특수문자는 \ 표현하면 된다

' ' 작은따옴표로 감싼 부분은 그대로 표현된다

   작은따옴표는 작은따옴표를 감쌀수 없다.

 

echo 'Hello '\''World' \'     #여기 씌여진 인용부호는 모두 ' 이다

Hello 'World '