上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

grub.cfgの内容を表示するスクリプト

作成途中ですが、一応動くところまで来たので、アップします。




#/bin/sh
readloop()
{
while [ a = a ]
do
read a
if [ $a -ge 0 ]
then
if [ $? = 1 ]
then
echo "Please type number"
continue
elif [ $a -lt "$(echo $*|tr ' ' '\n'|wc -l)" ]
then
break
else
echo "Please type number smaller than $(echo $*|tr ' ' '\n'|wc -l)"
continue
fi
echo "Please type number larger than 0 or 0"
fi
done
}
echo "Please type device file name you want to check /boot/grub/grub.cfg"
read device
if [ -z $(echo $device|grep "/dev/") ]
then
device="/dev/"$device
fi
umount -l /mnt 2>/dev/null
mount -t auto $device /mnt 2>/dev/null
if [ $? != 0 ]
then
echo "$a can not be mounted! Abort!"
exit 0
fi
echo "Please type y, if you want to check Grub configuration file"
read a
if [ "$a" = "y" ]
then
if [ -e /mnt/boot/grub/grub.cfg ]
then
echo "/boot/grub/grub.cfg (GRUB2 settings file)is found. Please push any key to show its menu entry."
read a
menuentries=$(grep menuentry /mnt/boot/grub/grub.cfg|sed -e "s/menuentry //g")
i=0
num=$(expr $(echo $menuentries|sed -e "s/{/\n/g"|wc -l) - 1)
while [ $i -lt $num ]
do
echo $i:$(echo $menuentries|cut -d{ -f $(expr $i + 1))
i=$(expr $i + 1)
done
echo "Please type the number of the menu you want to look inside"
readloop "$(echo $menuentries|tr -d ' '|tr { ' ')"
echo "=========================================="
echo "The contents is:"
echo
num=$(grep -A15 -e "$(echo $menuentries|cut -d{ -f $(expr $a + 1)){$" /mnt/boot/grub/grub.cfg|grep -n ^}|head -n1|cut -d: -f1)
grep -A $(expr $num - 1) -e "$(echo $menuentries|cut -d{ -f $(expr $a + 1)){$" /mnt/boot/grub/grub.cfg
else
echo "The device does not have /boot/grub/grub.cfg"
fi
else
echo "Aborted."
fi
exit 0
関連記事

テーマ : Linux
ジャンル : コンピュータ

コメントの投稿

管理者にだけ表示を許可する

プロフィール

kiyoshi

Author:kiyoshi
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
since 2011/9/25
現在の閲覧者数:
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。