Проверьте, какой раздел используется?

Я работаю над картой SBC6845 с Linux на ней: у меня установлено 4 раздела:

Creating 5 MTD partitions on "atmel_nand":
0x000000000000-0x000000100000 : "Factory"
0x000000100000-0x000000300000 : "Kernel1"
0x000000300000-0x000000500000 : "Kernel2"
0x000000500000-0x000008280000 : "Rootfs1"
0x000008280000-0x000010000000 : "Rootfs2"

Я хочу сделать сценарий оболочки, который отображает, какой раздел используется в настоящее время, но я не вижу, как.

команда "df -h" возвращает:

# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root               178.8G     65.4G    104.3G  39% /
tmpfs                    61.7M         0     61.7M   0% /dev/shm
tmpfs                    61.7M     36.0K     61.7M   0% /tmp

а также fdisk не работает в этой системе.

У кого-нибудь есть идеи, как решить эту проблему?

1 ответ

Решение

Итак, вы хотите знать, в каком разделе находится ваш скрипт? df могу вам в этом помочь! Вам просто нужно указать путь к вашему сценарию в качестве аргумента:

#!/bin/sh
df $0  | tail -1 | awk '{print $1}'

А также sh myscript.sh дает мне: /dev/sda1

Пояснения:

  • df $0 выводит раздел, в котором myscript.sh является
  • tail -1 игнорирует первую строку df (название столбцов)
  • awk '{print $1}' возвращает первый столбец df, который является разделом

Я надеюсь, что это то, что вы ожидали!

Другие вопросы по тегам