无忧启动论坛

标题: 调查一下 关于cat --length=0的问题 [打印本页]

作者: chenall    时间: 2015-6-11 17:26
标题: 调查一下 关于cat --length=0的问题
最早期的版本
cat --length=0 返回的是文件解压后大小

目前的版本,我接手GRUB4DOS之后修改的
cat --length=0 返回的是文件原始的大小


现在由于有了raw命令,就可以很方便的控制要返回哪个,所以打算修改成默认返回文件解压后的大小.使用raw cat --length=0 /xxx返回原始大小

不知这个改动影响大不大,是否有必要修改,大家可以讨论一下.

注: 这个改动只考虑用于0.4.6a上,修改后可以通过在cat --length=0命令前加raw来保持兼容性.


作者: 不点    时间: 2015-6-11 18:08
谈谈我的观点。世上没有真理,一切都是权衡。因此,无所谓对,也无所谓错。

其实受影响的,主要是 grub4dos 的第三方应用人员(比如说用于 PE 的启动)。至于说个人用户,基本不用考虑。

再有一点我想说的是,不用太在乎兼容性。当兼容性与合理性发生冲突时,应该以合理性为主要参考点。尤其是当不兼容性的范围比较狭窄时,更不应该照顾兼容性,而应该着重以发展的眼光来考虑问题。比如说前些时候我针对 grub.exe 与 DOS 互相沟通做了一些工作,我就倾向于放弃兼容性。为什么呢?因为这个不兼容性的层面,影响不大(它只影响 DOS,而 DOS 的地位是逐步下降的),况且互通的目的是对 dos 有好处的,也对 grub4dos 有好处。因此,我认为权衡之后,可以放弃兼容性。

只要主观上不是故意制造不兼容性,那都不算是严重问题。

以上仅仅是个人看法。希望不至于影响到朋友们自由发表不同的看法。


作者: 赤木刚宪    时间: 2015-6-11 18:42
改动了。。。不知道多少人会跟着受罪。。。最起码不明真相的人不知道是GRUB4DOS引起的。。
作者: 不点    时间: 2015-6-11 20:51
赤木刚宪 发表于 2015-6-11 18:42
改动了。。。不知道多少人会跟着受罪。。。最起码不明真相的人不知道是GRUB4DOS引起的。。

这个意见很好。这提醒了开发者,要让那些 "不明真相" 的人 "明真相"。

一方面可以通过完善文档来达到目的。另一方面也可以通过提升版本号来提醒用户。在新的版本系列下,在醒目的地方标明不兼容,在文档中,有一个章节,标题就叫做 "了解不兼容性",详细介绍这个新的系列与以往有哪些不兼容性。


作者: sbyguli    时间: 2015-6-12 01:06
支持不点大大的观点。提版本号,完善文档!
作者: pseudo    时间: 2015-6-12 11:26
目前的版本,cat --length=0 返回的是文件原始的大小
以后的版本
cat --length=0 仍然返回的是文件原始的大小
cat --raw --length=0 /xxx和
raw cat --length=0 /xxx也返回原始大小

cat --expand --length=0 /xxx返回文件解压后的大小


作者: chenall    时间: 2015-6-12 12:27
pseudo 发表于 2015-6-12 11:26
目前的版本,cat --length=0 返回的是文件原始的大小
以后的版本
cat --length=0 仍然返回的是文件原始的 ...

这样需要增加好几行的代码.
用一楼的方案只需要删除几行代码就行了.

另外cat --length=0这个的用途一般是用于获取文件大小或判断文件是否存在.改动的影响主要是文件大小这一方面,也就一些对文件大小比较敏感的第三方程序会有影响(这类程序估计很少)

另外如果需要增加参数那还不如再增加命令来得方便简单.


作者: minmax    时间: 2015-6-12 23:02
這個功能本來有想拿來做還原功能,判斷檔案是否被變動過,如果有變動拿另一檔案覆蓋
但是後來發現
1. 檔案大的話 CAT挺久
2. 覆蓋檔案撐大的還是那大
後來就沒用了
如果有能在NTFS底下RENAME 的功能 就可以整起來用了
作者: pseudo    时间: 2015-6-14 00:28
chenall 发表于 2015-6-12 12:27
这样需要增加好几行的代码.
用一楼的方案只需要删除几行代码就行了.

那就改吧。
让用户跟着适应就是了。




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3