如何在 bash 中找到系统分区?我正在为 Phoenix OS 在 bash 中编写一个 shell 脚本,并为其制作一个内核更改器脚本。该脚本应替换 3 个内容:1) 模块文件夹 2) 固件文件夹 3) 内核文件。
前两个位于PhoenixOS的系统文件夹中,但内核文件不在PhoenixOS的系统文件夹中。例如,我们必须将分区挂载到文件夹中外部4更改内核文件:
cd data/media/0
mkdir -m 755 ext4
mount -t ext4 -rw /dev/block/sdaX /data/media/0/ext4
X应该换成系统分区号
但有一个问题。我需要识别/dev/sda
PhoenixOS分区,因为不同的用户会有不同的分区。所以我的问题是如何/dev/sda
从 bash 脚本中识别系统?
我在互联网上搜索并没有找到任何相关内容。
答案1
严格来说,我认为没有答案之内 bash
。您最终可能会得到一个使用常见命令行工具的答案,该工具通常安装在凤凰操作系统。我不使用该操作系统,但让我推荐两个常见的 Linux 工具,它们可能默认安装在 Phoenix 操作系统中,然后您可以使用它bash
来解析输出:
1]lsblk
2]ls -l /dev/disk/by-label
如果可用lsblk
,您的版本可能支持 JSON 输出格式 ( -J
) 或不同的 ascii 输出(请参阅man
页面)。