* 오류 해결하기

 

변수가 08일 때 수식으로 비교하려 할 때 발생

쉘 스크립트는 특별한 접두사나 표기법이 없다면 숫자를 10진수로 해석한다.
만약에 숫자 앞에 0이 있다면 8진수이고, 0x이 있으면 16진수
#이 들어간 숫자는 진법#숫자로 계산된다.

 

# 10진수
23 > 23
45 > 45

# 8진수 ('0'다음에 나오는 숫자)
071  > 8 (10진수로 표현)

# 16진수 ('0x'나 '0X' 다음에 나오는 숫자)
0x7a > ? (10진수로 표현)

* 날짜로 만들어지는 폴더 경로를 SFTP 명령어로 작성 하고 싶다.

 

이를테면 SFTP 로 접근해서 해당 경로에 파일을 지운다던가

 

이때 폴더가 날짜값으로 만들어지는 이유로 반복문을 돌리는데 숫자 2자리 수 이전 값에서는 01, 02, ... 09와 같은 포맷을 만들기 위해서는 몇가지 작업이 필요하더라

 


 * 한 자리 수 숫자 앞에 0을 붙이는 방법

 

`seq [option] [first_number] [increment] [last_number]`

`seq [option] [first_number] [last_number]`

`seq [option] [last_number]`

 

[option]

-f 포맷방식 "02g", "03g"
-w 마지막 숫자(last_number) 자릿수에 맞게 0을 채움 seq -w 1 10
-s 숫자 사이에 특정 구분자를 추가 seq -s "/t" -w 1 5

 


 * 내가 활용한 방법

`seq -f "02g" 시작 끝`

 

for time in `seq -f "02g" $START $END` ; do

	shtp -i $SSHKEY "사용자계정@호스트" << EOF
    	rm /경로/$time/*
    	quit
        EOF
    
done

 

'Basic > shell' 카테고리의 다른 글

[Shell] netstat  (0) 2020.02.12
[Shell] -ksh {파일명}.sh: not found  (0) 2019.09.05
[Shell] rsync  (0) 2019.09.03
[Shell] Exception Handling  (0) 2019.08.12
[Shell] 파일 찾기  (0) 2019.08.12

+ Recent posts