我想检查关闭时未提交更改的 git 存储库,以及是否存在此类存储库 - 打印它们并让用户能够决定要做什么 - 恢复关闭或中止它。
我创建了一个检查未提交的存储库的函数。这是以防有人感兴趣
find_uncommited() {
if [ -n "$1" ];then
local root_path=$1
else
local root_path=$(pwd)
fi
eval local trash='~/.local/*'
find $root_path -type d -not -path $trash -iname '.git' 2>/dev/null | \
xargs -I {} $SHELL -c \
'dir=$(dirname {});cd $dir;uncommited=$(git ls-files --modified --deleted --exclude-standard --others;git log @{push}.. 2>/dev/null);if [ -n "$uncommited" ];then echo $dir;fi'
}
我知道我可以将一些脚本放入其中rc0
并以某种方式命名它,以便在卸载驱动器之前调用它,但我不认为它可以是交互式的。
然后就是这个回答
这让我想到我可以使用一些服务来监听 Unity 的 dbus 关闭事件,然后......然后到底是什么?如何让这个交互对用户来说?我可能可以为此编写 python gui 应用程序,但也许有更简单的纯 shell 方式?
答案1
将脚本存储在/etc/init.d中
还尝试对命令使用绝对路径,同时引用其他变量。
授予适当的文件执行权限