我经常忘记备份我所摆弄的重要系统文件的原始副本。
有没有办法让系统自动复制我编辑的文件(例如,如果该文件位于 /etc 下)?只需将 filename 复制到同一目录中的 filename~ 即可?
答案1
答案2
如果您的编辑器没有提供该选项,您可以编写如下函数:
kate~(){ cp "${!#}" "${!#}~" && kate $@ ;}
您可以为每个编辑器执行此操作,只需获取最后一个参数(${!#}
),该参数始终应为文件名,复制它并kate
使用整个参数行( )运行编辑器($@
)。此示例函数使用 调用kate~ [OPTIONS] [FILE]
。最好将此类函数存储在~/.bash_aliases
文件中,这样它们对每个新打开的终端都有效。
要测试特定目录,/etc/
您可以这样做
kate~(){ [[ "${!#}" =~ /etc/ ]] && cp "${!#}" "${!#}~" ; kate $@ ;}
这样,仅当要打开的文件位于 下时才会创建备份文件/etc/
。