2011-09-05 3 views

답변

2

if [[ ! -d dirname ]]; then mkdir dirname; fi 

를 사용하는 어떤 이유가 있나요.

dirname이 디렉토리가 아니라면 모두 실패하므로 차이가 없습니다.

+1

AIX에서 ksh를 사용하고 있습니다. –

+1

나는'mkdir -p' 옵션을 사용해야한다고 생각한다.'mkdir -p' 옵션이 더 짧고, 디렉토리를 재귀 적으로 생성 할 수 있기 때문이다. 그러나 실제로, 그것은 동일합니다. – wormsparty

1
-d FILE  True if file is a directory. 

-p    no error if existing, make parent directories as needed. 

dirname에는 두 개의 명령이 동일하게 동작합니다. 그러나 dirname에 부모가 포함되어있는 경우 -d은 해당 부모를 만들지 않습니다. [[은 쉘에 종속적입니다.

+1

>> 그리고 [[쉘에 종속적입니다. 알아. AIX에서 ksh 용 스크립트를 작성 중입니다. –

0

이 두 ksh 명령은 기능상으로 동일합니다. 두 명령 모두 dirname이라는 디렉토리를 작성하기 때문입니다.

mkdir -p dirname은 더 우아합니다.