我正在尝试制作一个简单的备份脚本,我在创建一个名称为curent date的文件夹时遇到问题
我的脚本是那个,基本上问题出在最后一行
drivers=$(ls /media/)declare -i c=0for word in $driversdo echo "($c)$word" c=c+1doneread -n 1 driveechoc=0for word in $driversdo if [ $c -eq $drive ] then backuppath="/media/$word/backup" fi c=c+1doneecho "doing back up to $backuppath"cp -r /home/stefanos/Programming $backuppath/$(date +%Y-%m-%d-%T)
输出继电器:
(0)0362-BA96(1)Data(2)windows0doing back up to /media/0362-BA96/backupcp: cannot create directory `/media/0362-BA96/backup/2012-12-05-21:58:37': InvalID argument
路径是三重检查,直到/ media / 0362-BA96 /
解决了:
是什么janisz说最终的剧本看起来像
drivers=$(ls /media/)declare -i c=0for word in $driversdo echo "($c)$word" c=c+1doneread -n 1 driveechoc=0for word in $driversdo if [ $c -eq $drive ] then backuppath="/media/$word/backup" fi c=c+1doneecho "doing back up to $backuppath"backup(){ time_stamp=$(date +%Y_%m_%d_%H_%M_%s) mkdir -p "${backuppath}/${time_stamp}" cp -r "" "${backuppath}/${time_stamp}" echo "backup complete in "}#####################The paths to backup####################backup "/home/stefanos/Programming"backup "/home/stefanos/AndroID/Projects"backup "/home/stefanos/DropBox"
最佳答案:在FAT上无效(用于指定磁盘).一些M $无效字符适用于GNU / linux系统,但避免它们更安全(只需替换为.).使用以下日期格式date +%Y_%m_%d_%H_%M_%s
它应该适用于大多数文件系统,但对于MS DOS FAT来说可能太长了.更多信息你会发现here. 总结
以上是内存溢出为你收集整理的Linux shell脚本:创建一个包含当前日期名称的文件夹全部内容,希望文章能够帮你解决Linux shell脚本:创建一个包含当前日期名称的文件夹所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)