这个.command文件有什么问题?

时间:2012-06-06 22:03:20

标签: bash shell command-line terminal command-prompt

这是我的脚本,用于自动化静态博客的git推送。 当我在终端中逐个运行每个命令时,它可以工作。我是否需要添加延迟,也许它太快了。 pelican命令(静态网站生成器)需要相当多的时间(2秒)。脚本的其余部分在那期间崩溃吗?

    #!/bin/sh
    dropbox
    cd blog
    pelican . -s /Users/Paul-Arthur/Desktop/Desktop/Dropbox/blog/pelican.conf.py -t subtle
    cd output
    git add . 
    git commit -m 'commit'
    git push 

更新:对不起,是的dropbox是我的bash_profile中的自定义命令(这不是问题,我知道它有效;))。 可悲的是,当我单击我的脚本时,它会非常快地执行(但不能正常工作),所以我看不到错误。

这是calepin命令的输出。错误是正常的,我希望它能与之一起运行。你认为这是问题吗?如果是这样我该怎么办?

    familys-imac:blog Paul-Arthur$     pelican . -s /Users/Paul-Arthur/Desktop/Desktop/Dropbox/blog/pelican.conf.py -t subtle

    ERROR: Skipping ./articles/aboutme.md: impossible to find informations about 'title'
    ERROR: Skipping ./articles/static_sites.md: impossible to find informations about 'title'
    familys-imac:blog Paul

1 个答案:

答案 0 :(得分:0)

这可能是由于«cd»命令,因为它不是命令,它是shell内置的,并且不像命令那样。

要调试它,请尝试在«pwd»行之前和之后的脚本中添加«cd»命令,以确保工作目录已更改。

也可能是由于您使用的shell,在shebang(脚本的第一行)中,您正在使用/ bin / sh脚本。这是好的吗?当你在shell中执行它时,你可能正在使用另一个像bash,dash,zsh等。

要确定这一点,请在当前shell中键入:

which `echo $0`

您将得到如下答案:

/bin/bash 

或类似的东西。在shell脚本中使用它:

#!/bin/bash

再试一次你的剧本。

祝你的项目好运。