需要帮助来创建一个简单的bash脚本

时间:2013-08-26 19:12:47

标签: linux bash unix terminal sh

我已经创建了这个bash文件,上面插入了我经常用于同步数码相机文件的命令。重点是它没有任何东西!我错过了什么?
谢谢!
代码:

#!/bin/bash
#temporal
mkdir /tmp/canon

#copy files from camera
rsync -r /run/user/mango/gvfs/g*/DCIM /tmp/canon
cd /tmp/canon

#get files from subdirs
find ./ -name '*.JPG' -exec mv '{}' ./ \;

#remove dirs
ls -l | awk -F'[0-9][0-9]:[0-9][0-9]' '/^d/{print $NF}'| xargs -i rm -rf '{}' \;

#recreate folder structure with year|month pattern
jhead -n%Y/%m/%f *.JPG

#Sync with external HD
rsync -r --ignore-existing . /media/mango/WD/FOTOS/

2 个答案:

答案 0 :(得分:0)

如果它甚至没有做mkdir,那么很可能你想要的脚本版本不是正在运行的版本。尝试使用合格路径,例如./myscript或绝对路径,例如/home/joe/bin/myscript。命令type myscript将告诉shell运行它的位置。

此外,尝试在将set -x添加到脚本顶部或使用bash -x myscript后运行脚本;这将在执行时显示每一行。

如果这仍然没有帮助,可能会有bash启动代码,例如在.bashrc中阻碍。尽管可以使用相同的set -x,但是除非第二个用户可以登录和编辑该用户的启动脚本,因为启动脚本中的错误会导致无法登录系统,因此诊断起来要困难得多。 / p>

答案 1 :(得分:0)

试试这个

chmod +x yourscriptname

 ./yourscriptname

确保您运行的是相同的脚本。