# mtdinfo /dev/mtd0 mtd0 Name: uboot Type: nand Eraseblock size: 131072 bytes, 128.0 KiB Amount of eraseblocks: 8 (1048576 bytes, 1024.0 KiB) Minimum input/output unit size: 2048 bytes Sub-page size: 2048 bytes OOB size: 256 bytes Character device major/minor: 90:0 Bad blocks are allowed: true Device is writable: true 编写一个脚本 获取Sub-page size 2048,并判断是不是2048如果是就解压 A tar.gz 删除B.tar.gz,不是则解压B.tar.gz删除A.tar.gz
时间: 2024-02-10 07:11:02 浏览: 28
以下是一个可以实现您需求的简单脚本:
```
#!/bin/bash
# 获取 mtd0 的信息,并取得 Sub-page size 的值
SUB_PAGE_SIZE=$(mtdinfo /dev/mtd0 | awk '/Sub-page size:/ {print $NF}')
# 判断 SUB_PAGE_SIZE 是否为 2048,是则解压 A.tar.gz 并删除 B.tar.gz,否则解压 B.tar.gz 并删除 A.tar.gz
if [ "$SUB_PAGE_SIZE" -eq 2048 ]; then
tar -xzf A.tar.gz
rm B.tar.gz
else
tar -xzf B.tar.gz
rm A.tar.gz
fi
```
在使用脚本前,您需要将脚本保存为一个文件,并将 A.tar.gz 和 B.tar.gz 放在同一目录下。然后在终端中执行以下命令,即可运行脚本:
```
./script.sh
```
请注意,脚本中的命令可能需要根据您的环境和需求进行修改。
相关问题
# mtdinfo /dev/mtd0 mtd0 Name: uboot Type: nand Eraseblock size: 131072 bytes, 128.0 KiB Amount of eraseblocks: 8 (1048576 bytes, 1024.0 KiB) Minimum input/output unit size: 2048 bytes Sub-page size: 2048 bytes OOB size: 256 bytes Character device major/minor: 90:0 Bad blocks are allowed: true Device is writable: true
这是一段命令输出信息,不是sh脚本。如果您需要编写一个sh脚本来获取这个命令的输出信息,可以使用以下命令:
```sh
#!/bin/sh
mtdinfo /dev/mtd0 > mtd0_info.txt
```
将以上命令保存为.sh文件并运行后,会将mtdinfo命令的输出信息保存到mtd0_info.txt文件中。您可以根据需要修改文件名和路径。
open: No such file or directory while opening /dev/mtd/by-name/linuxroot
这个错误通常出现在嵌入式设备上,因为它们使用闪存来存储操作系统和其他数据。可能是因为系统找不到指定的闪存设备路径或者闪存设备已经损坏。
你可以尝试以下步骤来解决该问题:
1. 检查闪存设备是否已经挂载,并且挂载路径是否正确。
2. 检查闪存设备是否已经损坏,如果是,需要更换闪存设备。
3. 检查操作系统是否已经正确安装在闪存设备上。
4. 如果以上步骤都没能解决问题,请尝试重新安装操作系统或者恢复出厂设置。