it-source

폴더가 존재하지 않는 경우 Bash를 사용하여 폴더를 작성하려면 어떻게 해야 합니까?

criticalcode 2023. 4. 21. 21:00
반응형

폴더가 존재하지 않는 경우 Bash를 사용하여 폴더를 작성하려면 어떻게 해야 합니까?

#!/bin/bash
if [!-d /home/mlzboy/b2c2/shared/db]; then
    mkdir -p /home/mlzboy/b2c2/shared/db;
fi;

이거 안 되는 것 같아.누구 도와줄 사람?

먼저 Bash에서[명령어일 뿐이며 이 명령어에서는]마지막 인수로서 괄호 앞의 공백(및 그 사이의 공백)!그리고.-d2개의 독립된 인수도 필요합니다).

if [ ! -d /home/mlzboy/b2c2/shared/db ]; then
  mkdir -p /home/mlzboy/b2c2/shared/db;
fi

둘째, 당신이 사용하고 있기 때문에-p로 바꾸다.mkdir이 체크는 쓸모가 없습니다.처음에는 이렇게 되어 있기 때문입니다.그냥 쓰세요:

mkdir -p /home/mlzboy/b2c2/shared/db;

그리고 이것이 마지막입니다.

실제로 존재 여부를 확인할 필요는 없습니다.mkdir가 존재하는 경우 이미 만들고 싶기 때문에 mkdir만 있으면 됩니다.

mkdir -p /home/mlzboy/b2c2/shared/db

간단한 조작:

mkdir /path/to/your/potentially/existing/folder

폴더가 이미 존재하는 경우 mkdir는 오류를 발생시킵니다.오류를 무시하려면 다음과 같이 적습니다.

mkdir -p /path/to/your/potentially/existing/folder

확인이나 그런 거 할 필요 없어요


참조용:

-p, --parents no error if existing, make parent directories as needed http://man7.org/linux/man-pages/man1/mkdir.1.html

내부 공간이 필요합니다.[그리고.]괄호:

#!/bin/bash
if [ ! -d /home/mlzboy/b2c2/shared/db ] 
then
    mkdir -p /home/mlzboy/b2c2/shared/db
fi

보다 깔끔한 방법으로 셸 논리 연산자의 바로 가기 평가를 이용합니다.왼쪽이 참인 경우에만 연산자의 오른쪽이 실행됩니다.

[ ! -d /home/mlzboy/b2c2/shared/db ] && mkdir -p /home/mlzboy/b2c2/shared/db

코드를 조금 다시 포맷해야 할 것 같습니다.

#!/bin/bash
if [ ! -d /home/mlzboy/b2c2/shared/db ]; then
    mkdir -p /home/mlzboy/b2c2/shared/db;
fi;

어디에서나 디렉토리 작성

OUTPUT_DIR=임의

if [ ! -d ${OUTPUT_DIR} ]
then
    mkdir -p ${OUTPUT_DIR}
fi

언급URL : https://stackoverflow.com/questions/4906579/how-to-use-bash-to-create-a-folder-if-it-doesnt-already-exist

반응형