Header

  1. View current page

    dsdstudio님의 노트

Profile_img_60x60_01
1

Shell Programming

 

bad interpreter: 파일또는 디렉토리를 찾을수 없습니다.
원인 : 윈도우에서 수정, 작성해서 올릴 경우 ^M 문자가 생겨 발생한다.
vi -b 해당쉘스크립트
해서 아래의 명령 실행
:1,$s/^M//g

 

날짜 뽑아내기

date '+%Y%m%d'

 

./run.sh & 와 nohup run.sh & 의 차이.

shopt에 huponexit on 으로 설정되어있는경우. 터미널 세션이 종료되면

해당 job도 같이 종료된다.

최근에는 기본적으로 off로 설정되어있으나 예전엔 default 값이 on으로 되어있었다고 한다 -_-;

 

shell option 보기

shopt

 

nohup 로 출력시 로그 남기지않기.

 nohup sh run.sh > /dev/null 2>&1 &

 

HP / Solaris 에서 echo -n  (newline 무시)

 

background로 돌린 job의 pid 얻어내기.

./run.sh &

SHELL>echo $!

변수에 매핑해도 된다.

 

var 문자열 갯수 출력.

shell> read -s password

asdf

shell>echo ${#password}

4

아래와 같은형태로 문자열 길이 비교도 할 수 있다.

입력패스워드가 8자리 이하인가?

[ ${#password} -gt 8 ]

 

특정 쉘에서만 가능한 옵션들.

echo -n ( New line 무시)

read -s ( 입력문자열을 보여주지않음 )

sh 에서는 이 옵션을 사용할수 없다.. -_-;

 

ls Recursive 하게.

ls -pR | grep '\.\/' > .dir_list

 

파일이 있는지 없는지 체크

[ -f /data/home/filename ]

boolean 형이므로 비교연산자와 같이 사용해서 쓰면 된다.

 

test 관련 몇가지.

-z String : String 갯수가 0인지

-f FILE : 파일이 존재하고 regular file인지.

Expression1 -o Expression2 : or 연산.. 둘중하나가 true면 true 리턴.

Expression1 -a Expression2 : and 연산. 둘다 true여야 true리턴.

 

Byte 수 char 수 line 수 word수 구하기

$) wc [options] [file]

-l : 라인수

-c : byte 수

-m : char 갯수

-w : 문자열 갯수

History

Last edited on 05/20/2008 11:45 by dsdgun

Comments (0)

You must log in to leave a comment. Please sign in.