1. /etc/profile - 콘 쉘이 로그인 쉘로 지정된 모든 사용자가 로그인할 때마다 이 파일을 읽는다.
2. $HOME/.profile - 콘 쉘이 로그인 쉘로 지정된 사용자가 로그인할 때마다 홈 디렉토리에 파일이 있으면 읽는다.
3. $HOME/.kshrc - 콘 쉘이 로그인 쉘로 지정된 사용자가 로그인할 때마다 $HOME/.profile파일에서 따로 설정이
되어 있으면 추가로 읽는 파일이다.
$0 - 쉘 스크립트의 이름
$1 - $9 - 첫 번째 아규먼트,두 번째 아규먼트, ... , 아홉번 째 아규먼트
${10} - ${n} - 열 번째 아규먼트, 열한 번째 아규먼트, ... ,n번째 아규먼트
$# - 아규먼트의 개수
$@ - 쉘 스크립트에 입력된 모든 아규먼트
$* - 쉘 스크립트에 입력된 모든 아규먼트
조건문
본쉘 콘쉘 의미
[-r file_name] [[-r file_name]] file_name의 내용을 읽을 수 있는지 검사
[-w file_name] [[-w file_name]] file_name의 내용을 변경할 수 있는지 검사
[-x file_name] [[-x file_name]] file_name을 실행할 수 있는지 검사
불가능 [[-O file_name]] file_name의 소유주가 스크립트를 실행하는 사람인지 검사(Owner)
불가능 [[-G file_name]] file_name의 그룹 소유주가 스크립트를 실행하는 사람이 속한 그룹인지 검사
[-f file_name] [[-f file_name]] file_name이 일반적인 파일인지 검사
[-d file_name] [[-d file_name]] file_name이 디렉토리인지 검사
[-c file_name] [[-c file_name]] file_name이 캐릭터 디바이스 파일인지 검사
[-b file_name] [[-b file_name]] file_name이 블록 디바이스 파일인지 검사
불가능 [[-L file_name]] file_name이 심볼릭 링크인지 검사
[-s file_name] [[-s file_name]] file_name의 크기가 0보다 큰 값인지 검사
불가능 [[-e file_name]] file_name이 존재하는지 검사(Exist)
본쉘 콘쉘 의미
[$num1 -eq $num2] ((num1 == num2)) num1과 num2가 같은 값인지 검사(equal)
[$num1 -ne $num2] ((num1 != num2)) num1과 num2가 다른 값인지 검사(not equal)
[$num1 -lt $num2] ((num1 < num2)) num1이 num2보다 작은 값인지 검사(Less than)
[$num1 -gt $num2] ((num1 > num2)) num1이 num2보다 큰 값인지 검사(greater than)
[$num1 -le $num2] ((num1 <= num2)) num1이 num2보다 작거나 같은 값인지 검사(less than or equal)
[$num1 -ge $num2] ((num1 >= num2)) num1이 num2보다 크거나 같은 값인지 검사(greater than or equal)
본쉘 콘쉘 의미
[str1 = str2] [[str1 == str2]] str1과 str2가 같은 값인지 검사
[str1 != str2] [[str1 != str2]] str1과 str2가 다른 값인지 검사
불가능 [[str1 == pattern]] str1이 pattern으로 표현할 수 있는지 검사
불가능 [[str1 != pattern]] str1이 pattern으로 표현할수 없는지 검사
[str1 < str2] [[str1 < str2]] str1과 str2를 사전 순으로 비교하여 str1이 앞서 있는지 검사
[str1 > str2] [[str1 > str2]] str1과 str2를 사전 순으로 비교하여 str2가 앞서 있는지 검사
[-z str2] [[-z str2]] str1의 길이가 0인지 검사
[-n str2] [[-n str2]] str1의 길이가 1이상인지 검사
본쉘 콘쉘 의미
-o || 양쪽 조건 중 어느 하나만 만족하면 모든 조건이 만족
-a && 양쪽 조건 모두 다를 만족하면 모든 조건이 만족
! 조건이 결과 값을 반대로 바꿈
if문 - 조건의 진리 값이 참인 경우와 거짓인 경우로 나누어서 어느 부분을 선택하여 실행할 것인지를 결정
if 조건문 if 조건문 if 조건문
then then then
명령어들 -> 명령어 -> 명령어
fi else elif 조건문
명령어 then
fi 명령어
else
명령어
fi
Case문 : if문의 또다른 형태
case value in
pattern1|pattern2)
명령어
;;
pattern3|pattern4)
명령어
;;
pattern5|pattern6)
명령어
;;
*)
명령어
;;
esac
for문 : 미리 정해진 횟수를 반복할 때 사용
for var in list_of_value
do
명령어
done
while문 : 조건을 만족하는 동안 반복하는데 사용
while 조건문
do
명령어
done
until문 : 조건이 만족되지 않은 동안에만 반복한다.
until 조건문
do
명령어들
done
select문 : 메뉴를 만들고 사용자가 메뉴에서 선택한 값에 따라서 명령어를 실행할 때 사용
select var in list_of_value
do
명령어들
done