我是编码和尝试自学的新手。我想知道为什么我一直得到" notcoolbeans"而不是创建目录?
!/bin/sh
if [ $mkdir /Users/Matt/Desktop/Yaya = 1 ];
then
echo "theres beans"
else
echo "notcoolbeans"
fi
该目录尚不存在。我想成功。
答案 0 :(得分: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
的变量。在新的shell中不能合理地预期存在这样的变量;如果它为空,则结果为[ /Users/Matt/Desktop/Yaya = 1 ]
。 "/Users/Matt/Desktop/Yaya"
和"1"
不是相同的字符串,因此总是失败。