Shell Script
linuxsig.org/files/bash_scripting.html
Table 1: Built-in shell variables.
Variable | Use |
$# | Stores the number of command-line arguments that were passed to the shell program. |
$? | Stores the exit value of the last command that was executed. |
$0 | Stores the first word of the entered command (the name of the shell program). |
$* | Stores all the arguments that were entered on the command line ($1 $2 …). |
”$@” | Stores all the arguments that were entered on the command line, individually quoted (“$1” “$2” …). |
변수 선언 할당 시 = 앞뒤로 공백이 없어야 함. 덧셈 뺄셈에서도 띄어쓰기가 상당히 중요하다. 쉘 스크립트에서는 공백에 유의.
shell script에서 유저 인풋 입력받기
1
2
3
4
5
6
7
8
9
echo -n "Enter password:"
stty -echo # 입력할 때 echoing 끄기
read pw
stty echo # echo 다시 켜준다
echo # 입력 끝나면 줄바꿈
echo $pw
SSH passphrase 입력 자동으로 처리하기
1
2
3
4
ssh-add ~/ssh\_keys/mine
ssh-add -l # 목록보기
ssh-add -d ~/ssh\_keys/mine
날짜 계산하기
1
2
date "--date=20220101 -d +10days" +%Y%m%d
예제 (이전 날짜 파일 읽어와서 작업 수행하고 그 다음 날짜 저장)
1
2
3
4
5
6
7
8
#!/bin/bash
saved_date_path=/home/user/files/tests/saved_date
start_date=`cat $saved_date_path`
end_date=`date "--date=$start_date -d +$(expr $1 - 1)days" +%Y%m%d`
python3 /home/user/scripts/datetest.py $start_date $end_date
next_date=`date "--date=$end_date -d +1days" +%Y%m%d`
echo next_date : $next_date
This post is licensed under CC BY 4.0 by the author.