for 문법
for item in 1 2 3 4 5 ...N
do
command1 ${item}
command2 ${item}
commandN ${item}
done
- in뒤에 { } 구문으로 루프의 조건을 지정 가능.
- INCREMENT를 생량할 경우 자동적으로 1로 설정
for i in {1..5}
do
echo "Welcome &i times"
done
-----
Welcome 1 times
Welcome 2 times
Welcome 3 times
Welcome 4 times
Welcome 5 times
- INCREMENT 지정
for i in {1..5..2}
do
echo "Welcome &i times"
done
-----
Welcome 1 times
Welcome 3 times
Welcome 5 times
if
- 대괄호([ ]) 안에 조건 기입
- ❗대괄호 안에 앞뒤 띄어쓰기 필수!
- -eq, -ne 등의 연산자 사용 가능
- fi 는 if 문이 끝났다는 정보
# $var의 값이 0인지 확인
if [ $var -eq 0 ]; then
echo "\$var is 0";
else
echo "\$var is not 0";
fi
# 디렉터리 여부 (-d)
# /etc/nginx/sites-available/ 디렉터리가 없으면 생성
if [ ! -d "/etc/nginx/sites-available/" ];then
mkdir /etc/nginx/sites-available/
fi
# 디렉터리 여부 (-f)
# /etc/nginx/sites-available/test.txt 파일 존재 유무 확인
if [ ! -f "/etc/nginx/sites-available/test.txt" ];then
echo "file is not exsits"
fi
# 문자열이 empty인지 확인 (-z) / 문자열이 none empty인지 확인 (-n)
# $var 문자열이 공백인지 검사
if [ -z $var ];then
echo "\$var is empty";
fi
# 정규식
line=' abcde fg'
if [[ $line =~ [[:space:]]*(abc)?(de)* ]];then
echo "match regex"
fi
# File 처리
while IFS='' read -r line || [[ -n "$line" ]]; do
echo "Text read from file: $line"
done < "$1"
# 변수 값 확인
if [ -z $VAR ]; then
echo "$VAR is empty";
else
echo "$VAR has value";
fi
💡 if 문에 사용되는 조건문 종류
| 조건식 | 설명 |
| -z | 문자열의 길이가 0이면 참 |
| -n | 문자열의 길이가 0이 아니면 참 |
| -eq | 값이 같으면 참 |
| -ne | 값이 다르면 참 |
| -gt | 값1 > 값2 |
| -ge | 값1 ≥ 값2 |
| -lt | 값1 < 값2 |
| -le | 값1 ≤ 값2 |
| -a | && 연산과 동일 and 연상 |
| -o | || 연산과 동일 xor 연산 |
| -d | 파일이 디렉토리면 참 |
| -e | 파일이 있으면 참 |
| -L | 파일이 심볼릭 링크면 참 |
| -r | 파일이 읽기 가능하면 참 |
| -s | 파일의 크기가 0보다 크면 참 |
| -w | 파일이 쓰기 가능하면 참 |
| -x | 파일이 실행 가능하면 참 |
| 파일1 -nt 파일2 | 파일1이 파일2보다 최신파일이면 참 |
| 파일1 -ot 파일2 | 파일1이 파일2보다 이전파일이면 참 |
| 파일1 -ef 파일2 | 파일1이 파일2랑 같은 파일이면 참 |
📖 Reference
728x90
반응형
'AI SW & MLOps > Linux' 카테고리의 다른 글
| [Linux] starbucks 데이터 넣기 (1) | 2024.06.04 |
|---|---|
| [Linux] 데이터 가져오기 & MariaDB 설치 (0) | 2024.06.04 |
| [Linux] Jupyter 설치 및 설정 & vim (0) | 2024.06.04 |
| [Linux] 환경설정 (1) | 2024.06.04 |