본문 바로가기
카테고리 없음

shell script - error 모음집 / 띄어쓰기하지 말 것!

by bents 2022. 8. 31.

1. 변수할당(=)시, 반드시 "띄어쓰면" false로 인식되기 때문에 반드시 붙여서 작성할 것 [링크]

2. mv,cp,rm 등 파일 여러개를 대상으로 command를 날리고 싶다면, 문자열"*"이 아닌 명령문 *을 날려야 한다.

3.mv(& mkdir)이 cp&rm보다 좋은 이유 : mv는 저장장치의 물리적 위치가 변하지 않고 접근 위치에 대한 포인터만 바뀌는데, cp는 새로운 저장영역을 확보해서 할당하기 때문에 오래걸리고 저장장치에 대한 부담이 생기는 거다!

4. 문자열을 split하고 싶다면, 위 사항을 참고해서 작성할것!

for dirName in `cat ./dir.txt`
do
IFS='\/' read -r -a array <<< "$dirName"
mkdir -p "./${array[2]}/${array[1]}"
mv ./"${array[1]}/${array[2]}"/* ./"${array[2]}/${array[1]}"/
done

5.array전체를 select하려면 [@]이라고 한다..

- 문자열 쪼개서 배열만들기 링크

- 배열 만들기 링크

 

6. 대문자 폴더만 찾아서 삭제하기

find . -maxdepth 1 ! -name '*[![:upper:]]*' -exec rm -rf {} \;