这是我的脚本,用于自动化静态博客的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
答案 0 :(得分:0)
这可能是由于«cd
»命令,因为它不是命令,它是shell内置的,并且不像命令那样。
要调试它,请尝试在«pwd
»行之前和之后的脚本中添加«cd
»命令,以确保工作目录已更改。
也可能是由于您使用的shell,在shebang(脚本的第一行)中,您正在使用/ bin / sh脚本。这是好的吗?当你在shell中执行它时,你可能正在使用另一个像bash,dash,zsh等。
要确定这一点,请在当前shell中键入:
which `echo $0`
您将得到如下答案:
/bin/bash
或类似的东西。在shell脚本中使用它:
#!/bin/bash
再试一次你的剧本。
祝你的项目好运。