내가 보려고 간단하게 정리한 쉘 스크립트 개발 시 참고 자료
cp 옵션 ( cp 옵션 원본파일 복사할위치 )
-i : 복사될 파일이 이름이 이미 존재할 경우, 사용자에게 덮어 쓰기 여부를 묻습니다.
-b : 복사될 파일이 이름이 이미 존재할 경우, 백업파일을 생성합니다.
-f : 복사 될 파일이 이름이 이미 존재 할 경우, 강제로 덮어쓰기 합니다.
-r : 하위 디렉토리 까지 모두 복사합니다.
-a : 원본 파일의 속성, 링크 정보까지 모두 복사합니다.
-p : 원본 파일의 소유자, 그룹, 권한 등의 정보까지 모두 복사합니다.
-v : 복사 진행 상태를 출력합니다.
mv 옵션 ( mv 옵션 원본파일 이동위치 )
-f 파일이 이미 있어도 강제로 이동하는 옵션 입니다.
-i 파일이 이미 있는 경우 덮어 쓸지 묻는 옵션 입니다.
-u 원본파일이 복사본 파일보다 최신이거나 복사본에 파일에 원본 파일 및 디렉토리가 없을 경우 이동하는 옵션 입니다
-v 진행 작업을 표시해주는 옵션 입니다.
-b 이동위치 파일이 이미 있는 경우 백업파일을 생성하는 옵션 입니다.
-S [name] -b 옵션을 통해 백업 옵션을 사용할 경우 '~' 대진 입력된 내용을 지정하는 옵션 입니다.
스크립트 내 배열 지정
array=(
1111
2222
3333
)
폴더 존재 유무 체크
if [ ! -d 폴더경로 ]; then
echo "파일이 없습니다."
else
echo "파일이 있습니다."
fi
파일 존재 유무 체크
if [ ! -e 파일경로 ]; then
echo "파일이 없습니다."
else
echo "파일이 있습니다."
fi
폴더 내 파일 건수 체크
cnt=ls $home/temp/ | wc -l
건수 비교 방법
if [ n1 -eq n2 ]; then n1이 n2와 같을 때
if [ n1 -ne n2 ]; then n1이 n2와 같지 않을 때
if [ n1 -ge n2 ]; then n1이 n2 이상일 때
if [ n1 -gt n2 ]; then n1이 n2 초과일 때
if [ n1 -le n2 ]; then n1이 n2 이하일 때
if [ n1 -lt n2 ]; then n1이 n2 미만일 때
mkdir 옵션
-m : 디렉토리를 생성할 때 권한을 설정합니다. (defualt : 755)
-p : 상위 경로도 함께 생성합니다.
-v : 디렉토리를 생성하고 생성된 디렉토리에 대한 메시지를 출력합니다.
특정 경로 내 폴더 명 읽기
F_PATH=$HOME/temp/
cd " ( 숫자로 구성된 폴더 체크 방법 )
for LOOP_DIR in *; do
// 유닉스에서는 =~ 같은 정규식 연산자 안먹힘
// 숫자체크가 필요 없는 경우 제외
if [ -d $LOOP_DIR ] && [[ $LOOP_DIR =~ $digit_chk ]]; then
echo "폴더 있음"
else
echo "폴더 없음"
fi
done;
변수 길이 구하기
len=${#data}
나머지 연산하기
TM=expr ${data} % 10
sleep $TM