2012-01-09 3 views

답변

18

, 당신은 할 수 있습니다 :

파일의 경우
if [ ! -d /directory/to/check ]; then 
    mkdir -p /directory/toc/check 
fi 

, 당신은 당신이 존재하지 않는 파일을 필요로 어떤 작업을 수행 할 수 -f-d를 교체합니다.

+7

찾고 무엇

if [ -d /src/com/mot ]; then echo Directory found else mkdir /src/com/mot fi 

희망은 당신이 실제로 검사가 필요하지 않습니다. 'mkdir -p'는 기존 디렉토리에서 작동하지 않습니다. – thiton

+1

그건 중요한 지적입니다. 나는 그들이 'mkdir'이전에 다른 일을하기를 원한다면 OP를 프레임 워크에 제공하는 것처럼 그것을 남겨 둘 것이다. –

+1

첫 번째 줄과 두 번째 줄 사이에 디렉터리가 만들어지는 경우 경쟁 조건이 발생합니다. – Sjoerd

5
test -d /src/com/mot || mkdir /src/com/mot 
6

mkdir -p는 이미 존재하는 경우 오류를주지 않고 디렉토리를 생성합니다. 디렉토리

4

확인이 디렉토리

if [ -d "$DIRPATH" ]; then 
    # Add code logic here 
fi 

확인이 존재하지 않는 존재

if [ ! -d "$DIRPATH" ]; then 
    # Add code logic here 
fi 
5

글쎄, 당신은 존재하지 않는 경우를 만들 디렉토리를 확인하면, 다음과 같이 사용하면됩니다.

mkdir -p /src/com/mot 

mkdir -p이 없으면 디렉토리가 생성되고 그렇지 않은 경우에는 디렉토리가 생성됩니다.

3

이것은 baisc이지만 작동한다고 생각합니다. 순환 목록을 확인하고 확인하려는 경우 몇 가지 변수를 설정해야합니다. 당신이 ...

+0

없이 사례에 적용하는 것으로 읽었습니다. ';' if 절의 닫는 ']'후. –

+0

고마워요 .. – Silvertiger

+0

@Chirstian The ';' ']'다음에 ''이 필요하지 않으며 ']'은 닫는 대괄호가 아닙니다. 명령 '['의 경우, ']'은 해당 명령의 인수입니다.개행 문자는 세미콜론과 같은 용도로 사용됩니다. –

관련 문제