2016-06-14 67 views
0

我是新来的编码,并试图教我自己。我想知道为什么我一直在收到“notcoolbeans”而不是创建目录?如何mkdir在if语句

!/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/bash#!/bin/ksh而不是#!/bin/sh)。
  • [ ]不是if陈述的一部分。它是一个运行测试并在输出上设置退出状态的命令,但是如果您想测试其他命令的退出状态,则不需要使用它。
  • $mkdir正试图扩展名为mkdir的变量。新壳中不会有这样的变量存在;如果它是空的,那么结果是[ /Users/Matt/Desktop/Yaya = 1 ]"/Users/Matt/Desktop/Yaya""1"不是相同的字符串,所以这总是失败。