쉘 스크립트 개발 시 참고 내용

정리의 습관화·2023년 10월 19일
0

내가 보려고 간단하게 정리한 쉘 스크립트 개발 시 참고 자료

  1. cp 옵션 ( cp 옵션 원본파일 복사할위치 )
    -i : 복사될 파일이 이름이 이미 존재할 경우, 사용자에게 덮어 쓰기 여부를 묻습니다.
    -b : 복사될 파일이 이름이 이미 존재할 경우, 백업파일을 생성합니다.
    -f : 복사 될 파일이 이름이 이미 존재 할 경우, 강제로 덮어쓰기 합니다.
    -r : 하위 디렉토리 까지 모두 복사합니다.
    -a : 원본 파일의 속성, 링크 정보까지 모두 복사합니다.
    -p : 원본 파일의 소유자, 그룹, 권한 등의 정보까지 모두 복사합니다.
    -v : 복사 진행 상태를 출력합니다.

  2. mv 옵션 ( mv 옵션 원본파일 이동위치 )
    -f 파일이 이미 있어도 강제로 이동하는 옵션 입니다.
    -i 파일이 이미 있는 경우 덮어 쓸지 묻는 옵션 입니다.
    -u 원본파일이 복사본 파일보다 최신이거나 복사본에 파일에 원본 파일 및 디렉토리가 없을 경우 이동하는 옵션 입니다
    -v 진행 작업을 표시해주는 옵션 입니다.
    -b 이동위치 파일이 이미 있는 경우 백업파일을 생성하는 옵션 입니다.
    -S [name] -b 옵션을 통해 백업 옵션을 사용할 경우 '~' 대진 입력된 내용을 지정하는 옵션 입니다.

  3. 스크립트 내 배열 지정
    array=(
    1111
    2222
    3333
    )

  4. 폴더 존재 유무 체크
    if [ ! -d 폴더경로 ]; then
    echo "파일이 없습니다."
    else
    echo "파일이 있습니다."
    fi

  5. 파일 존재 유무 체크
    if [ ! -e 파일경로 ]; then
    echo "파일이 없습니다."
    else
    echo "파일이 있습니다."
    fi

  6. 폴더 내 파일 건수 체크
    cnt=ls $home/temp/ | wc -l

  7. 건수 비교 방법
    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 미만일 때

  8. mkdir 옵션
    -m : 디렉토리를 생성할 때 권한을 설정합니다. (defualt : 755)
    -p : 상위 경로도 함께 생성합니다.
    -v : 디렉토리를 생성하고 생성된 디렉토리에 대한 메시지를 출력합니다.

  9. 특정 경로 내 폴더 명 읽기
    F_PATH=$HOME/temp/

cd FPATHdigitchk="[09]+F_PATH digit_chk="^[0-9]+" ( 숫자로 구성된 폴더 체크 방법 )

for LOOP_DIR in *; do
// 유닉스에서는 =~ 같은 정규식 연산자 안먹힘
// 숫자체크가 필요 없는 경우 제외
if [ -d $LOOP_DIR ] && [[ $LOOP_DIR =~ $digit_chk ]]; then
echo "폴더 있음"
else
echo "폴더 없음"
fi
done;

  1. 변수 길이 구하기
    len=${#data}

  2. 나머지 연산하기
    TM=expr ${data} % 10
    sleep $TM

profile
개발설계운영의 어딘가

0개의 댓글