본문 바로가기

Shell9

프로세스 병렬로 돌리는 예제 Shelll linux 환경에서 프로세스를 병렬로 돌리는 shell 정리 wait 란? linux 에서 wait 명령어는 자식프로세스가 종료할 때까지, 부모프로세스가 sleep() 모드로 기다립니다. 예를 들면, 부모 process 에서 자식 프로세스를 호출하는데 자식 프로세스가 20초 걸린다고 가정하겠습니다. 자식 프로세스가 20초 걸릴 동안 부모 process 가 종료를 해버리면 자식 프로세스는 좀비 프로세스가 되버립니다. 그렇기 위해 wait 를 사용합니다. shell source parallelTest.sh subModule.sh, subModule2.sh 를 병렬로 호출하고 각 자식프로세스를 wait 했다가 마지막에 각 자식 프로세스의 exitCode 를 출력합니다. #!/bin/sh # 각 pid 를 저장.. 2021. 8. 2.
find, mv 를 조합해서 폴더에서 폴더로 파일 이동 또는 복사 1. find, mv 를 조합해서 폴더에서 폴더로 파일 이동 또는 복사 아래 예제는 현재 위치에서 파일 타입, 수정일이 오늘로부터 1일 이내인 파일을 '옮길위치폴더' 로 이동시킵니다. mv 대신 cp 를 사용하면 현재 폴더에있는 파일이 복사가 됩니다. 2. source find . -type f -mtime -1 -exec mv {} '옮길위치폴더' \; 2021. 4. 19.
unix shell array for loop, for loop 내부에서 curl 호출 unix shell array for loop, for loop 내부에서 curl 호출 ARRAY 를 for loop 문 돌림. ARRAY 를 for loop 에서 curl 호출 ARRAY = ( "ABC" "BCD" "CDE" ) for ARRAY in ${ARRAY[@]}; do echo "${ARRAY} done ARRAY = ( "ABC" "BCD" "CDE" ) for ARRAY in ${ARRAY[@]}; do curl --xxx '{\"param1\":\"TEST\", \"param2\":\"${ARRAY}\"' done 2021. 2. 9.
unix shell 날짜를 for loop 돌리기. unix shell 날짜를 for loop 돌리기. source 아래 예제대로 하면 2020-01-01, 2020-01-02 ~ 2020-01-31 이 찍힘.tmp=2020-01-01 while [ "$tmp" != 2020-02-01 ]; do echo $tmp tmp=$(date -I -d "$tmp + 1 day") done - 날짜 포맷을 변경하고 싶으면 아래와 같이 하기. - 별개로 20200101 이렇게 찍고 싶으면, ```xml tmp=${date -d "$tmp + 1 day" +%Y%m%d) reference : https://stackoverflow.com/questions/28226229/how-to-loop-through-dates-using-bash 2020. 10. 13.