Scripts

第二章:Improving On User Commands--15.将删除的文件存档

你离开我真会死。 提交于 2019-12-09 10:35:24
以过往的经验来看,Unix用户最常见的一个问题是无法恢复意外删除的文件和目录。键入 rm xyz 之后,一旦你按下RETURN键,那么一切都是浮云了。这个问题的一个解决方案是秘密的、自动的存档文件和目录。想象一下,这个脚本中的基本工作可以做的让用户毫无察觉。 #!/bin/sh # newrm.sh, 一个rm命令的替代品, # 通过在用户的家目录下建立并利用一个新目录,提供了一个非删除的能力 # 它可以处理目录,也可以处理独立的文件, # 如果用户提供了-f 选项,那么删除时就不会存档 # 重要警告:如果你要自动完成删除垃圾目录的工作,那么不要使用 # 该脚本,因为这意味着你事实上什么也没有删除,最终你的磁盘空间会爆满 mydir="$HOME/.deleted-files" realrm="/bin/rm" copy="/bin/cp -R" if [ $# -eq 0 ]; then # 让 'rm' 输出用法错误信息 exec $realrm #当前的shell被 /bin/rm替换掉 fi # 解析所有选项查找'-f' flags="" while getopts "dfiPRrvW" opt; do case $opt in f)exec $realrm "$@" ;; # exec 让我们直接退出这个脚本 *)flags="$flags-$opt" ;; #

第二章:Improving On User Commands--16.使用已删除的文档

别说谁变了你拦得住时间么 提交于 2019-12-07 14:37:06
既然有了一个被删除文件的目录,而且这个目录是在用户的家目录下的隐藏目录,那么一个让用户检索这些已删除文件的脚本的程序就会非常有用了。不管怎样,想要表明所有可能发生的情况是很难的,因为它包括了没有匹配、仅有一个匹配以及多个匹配三种情况。在多个匹配的情形中,比如,你是想要挑出最新的文件,然后将它还原?还是指明有多少种情况匹配成功,然后就退出?又或是展示下不同情况的数据然后供用户挑选?下面,让我们来看看我们到底都能做些什么... #!/bin/sh # unrm.sh -- 查找已删除文档中的给定文件或是目录 # 如果有多个匹配,那么给出一个按时间戳排序的结果列表, # 然后,让用户指定还原哪个 mydir="$HOME/.deleted-files" realrm="/bin/rm" move="/bin/mv" dest=$(pwd) if [ ! -d $mydir ]; then echo "`basename $0`: No deleted files directory: nothing to unrm" >&2 exit 1 fi cd $mydir if [ $# -eq 0 ]; then echo "Contents of your deleted files archive(sorted by data):" # ls中的-F是给列出来的项增加指示器,比如

QuickXDev增强功能:Compile Scripts(编译及加密源代码)

自古美人都是妖i 提交于 2019-12-03 11:13:39
更新:此功能现在在mac和windows下都可用。 昨天弄清楚了编译和加密脚本的全部过程,今天我把这一功能集成到了QuickXDev,以方便广大开发者使用 ,详细使用方法如下: 1、 了解基本原理 QuickXDev中的这一功能只是完成了编译及加密的过程,要完整的从零到游戏运行的过程可能你还得了解一些其它的信息,如编译前的准备及编译后要修改的C++的代码,这个可以看之前的博客: quick-cocos2d-x源文件编译及加密详解 : http://my.oschina.net/lonewolf/blog/178515 2、配置 我把加密的密钥放在了配置文件里,所以你需要加密的话就得为配置文件加上一句: "compile_scripts_key": "encrypt_key" 配置文件的位置为 Preferences->Package Settings->QuickXDev->Settings - User 。 如果key的值为空的话则是只编译不加密 。 3、开始编译 在侧边栏右键一文件夹,选择" Compile Scripts " 。如下图 : 4、填写输出文件 这时会弹出一个输入框,在里面输入输出文件(Output File),这个文件就是加密后生成的文件名及位置 ,如下图: 注意: 这个文件的位置是相对于上面点击的文件夹的父目录的,如你点击了game01/scripts