无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 369|回复: 17
打印 上一主题 下一主题

find --set 如何指定变量?

[复制链接]
跳转到指定楼层
1#
发表于 5 天前 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
比如这个命令:
find --set-root /ISO/MyISO.ISO
RUN  /ISO/MyISO.ISO
但是RUN模块在另一个分区的MOD目录下,用命令:
find --set-root /MOD/RUN
也能找到,但是就是两者不在同一个分区。


有两个问题:
(1)如何让这句能正常运行RUN  /ISO/MyISO.ISO?也就是如何让RUN放在一个公共目录,就像windows的环境变量一样,运行CMD能打开命令行窗口,G4D如何做到同样的效果?
(2)若是在不同的分区,有没有办法设置个变量,如%myrun%,第一次set -root后赋予这个变量,然后通过%RUN%  /ISO/MyISO.ISO来运行?

15#
发表于 3 天前 | 只看该作者
佬大好人,支持点赞
回复

使用道具 举报

14#
发表于 3 天前 | 只看该作者
学到了,谢谢
回复

使用道具 举报

13#
发表于 4 天前 | 只看该作者
2011yaya2007777 发表于 2024-11-24 17:50
find  /MOD/RUN  |  set bd=
find --set-root /ISO/MyISO.ISO
%bd%/MOD/RUN  /ISO/MyISO.ISO

好人
回复

使用道具 举报

12#
发表于 4 天前 来自手机 | 只看该作者
yyz2191958 发表于 2024-11-24 19:08
助人为乐

3楼简洁
回复

使用道具 举报

11#
发表于 4 天前 | 只看该作者
学习了
回复

使用道具 举报

10#
发表于 4 天前 | 只看该作者
来学习了
回复

使用道具 举报

9#
 楼主| 发表于 4 天前 | 只看该作者

谢分享啥?你都没有仔细看我的回复?都是错的
回复

使用道具 举报

8#
发表于 4 天前 | 只看该作者
谢谢4楼分享

点评

谢分享啥?你都没有仔细看我的回复?都是错的  详情 回复 发表于 4 天前
回复

使用道具 举报

7#
 楼主| 发表于 5 天前 | 只看该作者
zhanglei1371 发表于 2024-11-24 19:49
请问,上面的命令,您亲自测试过么?
我亲自测试了下,发现一个也不对。
反而是上面@2011yaya2007777  ...

全是错的,没有一点帮助。浪费了我不少时间。
回复

使用道具 举报

6#
 楼主| 发表于 5 天前 | 只看该作者
wangyibin 发表于 2024-11-24 18:23
不是我的专长 给你搜索了一下 你看有没有帮助
问题1:如何让RUN命令在一个公共目录下运行
在GRUB中,你可 ...

请问,上面的命令,您亲自测试过么?
我亲自测试了下,发现一个也不对。
反而是上面@2011yaya2007777 大师的,用了%bd%变量的没有任何问题。【而你却说:GRUB不直接支持%variable%格式的变量引用,显然是错误的】
你的答案不会是AI生成的吧???

点评

全是错的,没有一点帮助。浪费了我不少时间。  详情 回复 发表于 5 天前
给你搜索的 你看有没有帮助  发表于 5 天前
回复

使用道具 举报

5#
发表于 5 天前 | 只看该作者
wangyibin 发表于 2024-11-24 18:23
不是我的专长 给你搜索了一下 你看有没有帮助
问题1:如何让RUN命令在一个公共目录下运行
在GRUB中,你可 ...

助人为乐

点评

3楼简洁  详情 回复 发表于 4 天前
回复

使用道具 举报

4#
发表于 5 天前 | 只看该作者
本帖最后由 wangyibin 于 2024-11-24 20:12 编辑

不是我的专长 给你搜索了一下 你看有没有帮助
问题1:如何让RUN命令在一个公共目录下运行
在GRUB中,你可以使用环境变量来达到类似Windows环境变量的效果。GRUB使用的是set命令来设置变量。以下是你可以尝试的方法:

设置一个环境变量指向公共目录:
  1. set run_dir=/path/to/public/directory
复制代码
修改你的RUN命令:
  1. find --set-root /ISO/MyISO.ISO
  2. set run_path=$root/ISO/MyISO.ISO
  3. set run_cmd="$run_dir/RUN $run_path"
  4. $run_cmd
复制代码
这里,run_dir是你的公共目录,run_path是你的ISO文件路径,run_cmd则是构建的完整命令行。

在不同的分区:
如果RUN模块在不同的分区,你可能需要先加载这个分区,然后设置路径。例如:
  1. # 假设你的公共目录在(hd0,msdos1)
  2. set root=(hd0,msdos1)
  3. set run_dir=/MOD
  4. find --set-root /ISO/MyISO.ISO
  5. set run_path=$root/ISO/MyISO.ISO
  6. set run_cmd="$run_dir/RUN $run_path"
  7. $run_cmd
复制代码

问题2:在不同分区设置变量
设置变量:
  1. find --set-root /ISO/MyISO.ISO
  2. export myrun=$root/ISO/MyISO.ISO
复制代码
这里,export命令将变量myrun设置为环境变量,使其在后续命令中可用。

使用变量运行命令:
  1. set root=(hd0,msdos1)
  2. set run_dir=/MOD
  3. set run_cmd="$run_dir/RUN $myrun"
  4. $run_cmd
复制代码
注意,GRUB不直接支持%variable%格式的变量引用,你需要使用$variable的形式来引用变量。

注意事项:
分区和设备的识别:确保你使用正确的分区和设备标识符(如(hd0,msdos1)),这些标识符在GRUB中是动态的,可能需要根据实际情况调整。
变量作用域:GRUB的变量在脚本中是全局的,但如果你在不同的脚本或环境中使用这些变量,确保它们被正确设置和导出。
路径问题:在GRUB中,路径需要特别注意,因为它使用的是GRUB的文件系统,而不是操作系统的文件系统。


点评

请问,上面的命令,您亲自测试过么? 我亲自测试了下,发现一个也不对。 反而是上面@2011yaya2007777 大师的,用了%bd%变量的没有任何问题。【而你却说:GRUB不直接支持%variable%格式的变量引用,显然是错误的】  详情 回复 发表于 5 天前
助人为乐  详情 回复 发表于 5 天前

评分

参与人数 2无忧币 +8 收起 理由
zhanglei1371 + 5 很给力!太厉害了!!!
yyz2191958 + 3

查看全部评分

回复

使用道具 举报

3#
发表于 5 天前 | 只看该作者
find  /MOD/RUN  |  set bd=
find --set-root /ISO/MyISO.ISO
%bd%/MOD/RUN  /ISO/MyISO.ISO

点评

好人  详情 回复 发表于 4 天前

评分

参与人数 2无忧币 +8 收起 理由
yyz2191958 + 3
zhanglei1371 + 5 就是我需要的

查看全部评分

回复

使用道具 举报

2#
发表于 5 天前 | 只看该作者
直接用0PE的RUN模块不香?


二○二四年十一月二十四日

点评

答非所问  发表于 5 天前
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-29 03:26

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表