关于如何下注制作这个bash脚本POSIX的建议,以及意外的nuking文件

时间:2014-05-23 16:04:30

标签: bash shell

目标,调用bash脚本./zero-file.bash

将文件拖放到其上以获得恰好添加的文件路径。这是在Mac OS X上,我不知道其他术语是否可以这样做,但我可以轻松地手动传递这条路径。

主要目的,我保留我读过的文件,以某种方式版本化,如Story23Book2,它们很大,50MG左右。我想将该文件设置为0字节,所以我知道我已经阅读了它,并且在我的发布者向我发送下一批文件之前它不会占用空间。

我的剧本,第一次努力,对不起,如果它是可怕的。 OT,为什么脚本在成功时退出0,在所有其他语言中,通常返回true,返回1,等等意味着好,而false和0意味着坏,bash似乎相反。不确定如何zsh,tcl等。

#!/bin/bash
# I read setting the long version of the above is a good habit, so I am, but don't fully know why.
set -o nounset  # Referencing undefined variables (which default to "")
set -o errexit  # Ignoring failing commands

#05/23/14  - 08:02:04 AM
# Given a file, will simply set the file size to 0 as a marker so I know I already worked/read the file
# the data in it is of no value, and am waiting on new data in a new file, that comes from a client.

# I am not sure sure how to deal with some of the characters Mac OS X allows. 
# Just iteration over a dir let alone trying to jut split on slash and the last 
# item evade me and the iteration messes up on spaces thinking they are a completely 
# new file.

# Grab the arg, I hope the quoting is right, ideally an icon i just drop a file on 
# that cleared that file would be great, but then I move from script to app 
# which I don't know.
filename="$1"
echo "Beginning to clean out data from $1"

# is this a fast and acceptable way, or is there something similar, like rm or mv to trash and remember filenmae than just `touch` $filename_from_memory
echo "" > "${filename}"
exit 0

这就是我正在做的事情,什么错误检查,尝试捕获,文件路径检查,也许测试文件至少在我通常保留这些东西的位置,我使用"!"在我的主文件夹名称中强制它到顶部,因为我经常使用它。这是我传递给它的arg:$。/ zero-file.bash~ / Downloads /!PubBooks / author \ name / bk1ch5.pub

然后我才回应""通过>对于文件来说,事情出了问题感觉很危险,但我没有经济衰退,除了丢失错误的文件或输入错误的路径之外什么都不会导致我相信,这个脚本可以解决任何问题,除了我指出的内容。

理想情况下:     即将清除$ filename中的所有数据     你确定要在path / to / file / filename清理$ filename到0字节     Y / N     n =退出0     y =继续

在文件中回显任何内容并保留它。如果还有其他文件,例如点文件,.DS_Store文件,.other-mac-trash-that-lays,除了.pub文件以外的任何文件,或者可定义的文件扩展名列表,我可以保存删除那些,并始终有电子邮件来备份该文件的任何错误。如果脚本是AWOL,我当然有备份。

我希望学习,听取建议,找出最好的方法来处理这种语言的小一点和一个衬里,也许是几百行以下的一些更复杂的东西。

0 个答案:

没有答案