无忧启动论坛

标题: grub4dos的find --set-root结果能不能当字符串用? [打印本页]

作者: 邪恶海盗    时间: 2020-3-26 13:40
标题: grub4dos的find --set-root结果能不能当字符串用?
find --set-root /xx == (hd0,1) echo 111
这样写没用

作者: sunsea    时间: 2020-3-26 13:55
find --set-root /xx | set abc=
if "%abc%"=="(hd0,1)" echo 111
尝试一下?
作者: 邪恶海盗    时间: 2020-3-26 14:08
sunsea 发表于 2020-3-26 13:55
find --set-root /xx | set abc=
if "%abc%"=="(hd0,1)" echo 111
尝试一下?


实测无效...

作者: sunsea    时间: 2020-3-26 14:23
本帖最后由 sunsea 于 2020-3-26 14:26 编辑
邪恶海盗 发表于 2020-3-26 14:08
实测无效...

既然有--set-root那么检查下%@root%是什么?应该可以用
作者: 不点    时间: 2020-3-26 15:07
find --set-root /..... 命令之后显示的 (pd),其前面似乎还有一个空格,不知道是否因此而影响了判断语句的结果。

可以 echo %aaa% ,看看 aaa 的值是什么。


作者: 指南针    时间: 2020-3-26 16:50
我还在无忧看到了
作者: 邪恶海盗    时间: 2020-3-26 16:59
sunsea 发表于 2020-3-26 14:23
既然有--set-root那么检查下%@root%是什么?应该可以用

这是个好办法,测试成功了...
作者: 邪恶海盗    时间: 2020-3-26 17:03
不点 发表于 2020-3-26 15:07
find --set-root /..... 命令之后显示的 (pd),其前面似乎还有一个空格,不知道是否因此而影响了判断语句的 ...


奇怪,find --set-root /xxx和find --set-root/xxx结果不一样,是命令对空格敏感还是BUG???

作者: 不点    时间: 2020-3-26 17:35
本帖最后由 不点 于 2020-3-26 17:38 编辑
邪恶海盗 发表于 2020-3-26 17:03
奇怪,find --set-root /xxx和find --set-root/xxx结果不一样,是命令对空格敏感还是BUG???

空格起着语法分隔的作用。不带空格,肯定是不对的。如果不带空格,比如说就像这样:find --set-root/aaa/bbb/ccc/ddd,那它实际上就等价于 find (后面没有任何参数的情况),这当然不符合你的意图。所以一定要有空格才行。Linux 以及 Windows 的批处理,在很多情况下都是需要用空格来分隔的。

前面的 find 先输出了一行 "......", 所以,aaa 的值就是 ...... 后续的 (pd) 没包括进去。也许这就是 set aaa 命令的正常执行结果了。

如果不合乎你的要求,或者你认为有 bug,你可以向开发者提出来,看看开发者是什么看法。


作者: 邪恶海盗    时间: 2020-3-26 19:36
不点 发表于 2020-3-26 17:35
空格起着语法分隔的作用。不带空格,肯定是不对的。如果不带空格,比如说就像这样:find --set-root/aaa/ ...

关键是带空格的时候就输出的有那一行......不知道什么情况...
作者: chenall    时间: 2020-3-26 20:02
这个很好理解啊
作者: chenall    时间: 2020-3-26 20:02
网络的读取进度条
作者: chenall    时间: 2020-3-26 20:03
网络的读取进度条
作者: 邪恶海盗    时间: 2020-3-26 20:11
chenall 发表于 2020-3-26 20:02
网络的读取进度条

了解了...

刚刚想起来,我不带空格运行find --set-root/xxx相当于只执行了root命令,所以返回了驱动器号而没有进度条...
作者: liangjianan    时间: 2020-3-31 10:32
美好时光同分享。




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