列出我不在的文件夹的内容时遇到问题,同时排除实际的文件夹名称本身.
例如:
root@vps [~]# find ~/test -type d
/root/test
/root/test/test1
Run Code Online (Sandbox Code Playgroud)
但是我希望它只显示/ test1,作为示例.
思考?
我显然遗漏了一些东西,并且知道问题是它创建了一个空白输出,这就是为什么它无法比较.然而,如果有人能够对此有所了解,那就太棒了 - 我没有把它隔离开来.
最后,我试图将md5sum存储在txt文件中的列表与存储在服务器上的列表进行比较.如果有错误,我需要它报告.这是输出:
root@vps [~/testinggrounds]# cat md5.txt | while read a b; do
> md5sum "$b" | read c d
> if [ "$a" != "$c" ] ; then
> echo "md5 of file $b does not match"
> fi
> done
md5 of file file1 does not match
md5 of file file2 does not match
root@vps [~/testinggrounds]# md5sum file*
2a53da1a6fbfc0bafdd96b0a2ea29515 file1
bcb35cddc47f3df844ff26e9e2167c96 file2
root@vps [~/testinggrounds]# cat md5.txt
2a53da1a6fbfc0bafdd96b0a2ea29515 file1
bcb35cddc47f3df844ff26e9e2167c96 file2
Run Code Online (Sandbox Code Playgroud) 我对这个脚本的一致性有点问题.您可以运行一次,没有任何问题.但是,如果您立即将其重新加载并再次运行,则它不会正确获取变量,因为输出未以正确的方式写入文件.
例如:此实用程序旨在实质上更新4个文件..temp,.tiers,.version和.sync在通过对话框提示的各个阶段,它会更新文件.我的问题是,有时它没有更新文件,我找不到任何原因,因为它只是在你已经运行一次之后.我在启动时擦除文件,所以我不确定这笔交易是什么.它就像它只是从记忆中抓取它?
无论如何,为了测试这个,你需要/ test中的以下文件
感谢任何能给我一些指导的人.
cat .tiers
Stable=1
Release=2
Beta=3
Run Code Online (Sandbox Code Playgroud)
码:
#!/usr/bin/env bash
touch .version
touch .temp
VERSION=`cat .version`
DIR=/test/
STORED=`cat ${DIR}/.temp`
################################
# REARRANGE TIERS #
################################
rearrange()
{
start
end
}
################################
# SYNC FILE EXISTS #
################################
sync_exists()
{
dialog --msgbox ".sync exists in the directory $(echo ${VERSION}).\n\n Use Tier Move instead." 10 40
clean_up
exit 1;
}
################################
# CLEAN UP #
################################
clean_up()
{
rm -rf .version
rm -rf .update
rm -rf .temp
}
################################ …Run Code Online (Sandbox Code Playgroud)