问:OS X中的终端脚本

时间:2012-05-14 04:40:59

标签: macos

这是关于较旧帖子的问题。

原始链接在这里:

Terminal scripting in OSX

khachik建议的文件是:

    #!/bin/sh

     show=`defaults read com.apple.Finder AppleShowAllFiles 2>/dev/null`

    if [ "$show" == "TRUE" ]; then
    defaults write com.apple.Finder AppleShowAllFiles FALSE
    else # here we come, if it is FALSE or is empty (the default)
    defaults write com.apple.Finder AppleShowAllFiles TRUE
    fi

    killall Finder

我通过在TextWrangler中输入并将其保存为带有'.command'后缀的文本文件来实现此功能。它作为双击例程运行,在运行时打开一个新的终端窗口。

我最初开始在终端的'nano'编辑器中输入它,但是它以某种方式消失了,并且终端提示符改为单个插入符号('>')。我假设Mac的内置语言之一被激活了。我完成了输入,但它不会运行。

我的问题是a)上面的脚本是用什么语言编写的?和b)有没有办法知道终端激活了哪种语言?我输入'哪种语言'但没有回答。 感谢

1 个答案:

答案 0 :(得分:0)

当您输入多行命令的一部分时,这是提示bash使用的,并且它要求下一行。基本上,你开始了一些你尚未完成的事情。可能是你没有关闭引用,或if语句,或类似的东西。

尝试输入"并点击返回,您会看到该提示。键入另一个"并再次点击返回,它会抱怨无效命令(并返回到正常提示)。