2016-06-14 1 views
0

나는 코딩하는 법을 처음으로 배우려고 노력하고 있습니다. 나는 왜 내가 디렉토리를 생성하는 대신에 "notcoolbeans"를 계속 얻고 있는지 궁금해하고 있었다.if 문에서 mkdir하는 방법

!/bin/sh 
if [ $mkdir /Users/Matt/Desktop/Yaya = 1 ]; 
then 
    echo "theres beans" 
else 
    echo "notcoolbeans" 
fi 

디렉토리가 존재하지 않습니다. 나는 그것을 만들기 위해 노력하고있다.

답변

1

원래 올바른 구현은 다음과 같습니다 노트의

#!/bin/sh 
if mkdir /Users/Matt/Desktop/Yaya; then 
    echo "theres beans" 
else 
    echo "notcoolbeans" 
fi 

항목 :

  • 유효한 오두막이 #!하지 !로 시작합니다. 더 많은 기능을 갖춘 스크립팅 언어를 원하면 #!/bin/sh 대신 #!/bin/bash 또는 #!/bin/ksh을 고려하십시오.
  • [ ]if의 일부가 아닙니다. 테스트를 실행하고 출력시 종료 상태를 설정하는 명령이지만 다른 명령의 종료 상태를 테스트하려는 경우이를 사용하라는 요청이 없습니다.
  • $mkdirmkdir이라는 변수를 확장하려고합니다. 그러한 변수는 새 쉘에 존재할 것으로 합리적으로 기대할 수 없습니다. 비어있는 경우 결과는 [ /Users/Matt/Desktop/Yaya = 1 ]입니다. "/Users/Matt/Desktop/Yaya""1"은 동일한 문자열이 아니므로 항상 실패합니다.