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에서 유저 인풋 입력받기
```sh
echo -n "Enter password:"
stty -echo # 입력할 때 echoing 끄기
read pw
stty echo # echo 다시 켜준다
echo # 입력 끝나면 줄바꿈
echo $pw
```
SSH passphrase 입력 자동으로 처리하기
```sh
ssh-add ~/ssh_keys/mine
ssh-add -l # 목록보기
ssh-add -d ~/ssh_keys/mine
```
날짜 계산하기
date "--date=20220101 -d +10days" +%Y%m%d
예제 (이전 날짜 파일 읽어와서 작업 수행하고 그 다음 날짜 저장)
#!/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
'OS > LINUX & UNIX' 카테고리의 다른 글
shell prompt (bash, Oh My Zsh) (0) | 2020.01.10 |
---|---|
바이너리를 쉘 명령어로 등록하기 (+ 버전 관리, 멀티 패키지) (0) | 2019.05.14 |
SSH 접속 끊어도 프로세스 돌아가도록 하기 : screen, disown, 백그라운드 작업 (1) | 2017.11.13 |
gcc options (2) | 2017.10.01 |
libc 버전 문제 (0) | 2017.07.23 |