如果/ else语句与macOS终端

时间:2017-01-04 16:41:32

标签: macos terminal macos-sierra

所以我对macOS终端很陌生,我想执行一个简单的命令,如果显示隐藏的mac文件夹,隐藏它们,如果它们被隐藏,则显示它们。

我主要习惯python,所以我的第一反应就是:

if defaults write com.apple.finder AppleShowAllFiles is NO: 
    defaults write com.apple.finder AppleShowAllFiles YES 
else: 
    defaults write com.apple.finder AppleShowAllFiles NO

现在我很确定这不起作用,但我怎么能在shell脚本中实现这样的东西呢?

2 个答案:

答案 0 :(得分:0)

你可以这样做:

#!/bin/bash

if [ '1' = $(defaults read com.apple.finder AppleShowAllFiles) ]; then
    echo "AppleShowAllFiles is enabled"
elif [ '0' = $(defaults read com.apple.finder AppleShowAllFiles) ];   then
    echo "AppleShowAllFiles is not enabled"
else
    echo "defaults returned some other value"
fi

或者这样可以将默认值的返回值赋给变量:

#!/bin/bash

defaultsReturn=$(defaults read com.apple.finder AppleShowAllFiles)

if [ '1' = "$defaultsReturn" ]; then
    echo "AppleShowAllFiles is enabled"
elif [ '0' = "$defaultsReturn" ]; then
    echo "AppleShowAllFiles is not enabled"
else
    echo "defaults returned some other value: $defaultsReturn"
fi

答案 1 :(得分:0)

在终端输入if then else

if (( 1 == 1));then echo "hi"; fi;