خوب میتونیم از خروجی قبلی (hdx,y)  رو با دستور grep  جدا کنیم و توی یه متغیر مثلا به اسم sysdev  ذخیره کنیم  و بعد این متغیر رو توی یه بلوک جدید بدیم به root  :
#!/bin/bash
 set `{
grub --batch  <<EOF |grep  \(hd[0-9],[0-9]\)
find /boot/grub/stage1
quit
EOF
}`
sysdev=$1
echo $sysdev
تا اینجا فقط (hdx,y) رو گذاشتیم توی متغیر sysdev و بعد توی خروجی نمایش دادیم . البته این خط هم توی خروجی نمایش داده میشه ولی توی sysdev  ذخیره نمیشه اگر خط آخر یعنی echo رو حذف کنی متوجه میشی که  بازم خط زیر نمایش داده میشه که نمیدونم چطور حذفش کنم :
Probing devices to guess BIOS drives. This may take a long time.البته مهم نیست مشکلی ایجاد نمیکنه . 
حالا اگر اسکریپت رو گسترش بدیم یه چیزی تو این مایه ها خواهیم داشت :
#!/bin/bash
 set `{
grub --batch  <<EOF |grep  \(hd[0-9],[0-9]\)
find /boot/grub/stage1
quit
EOF
}`
sysdev=$1
{
grub --batch  <<EOF
root $sysdev
quit
EOF
}
دیگه چیکار باید بکنیم ؟
ویرایش :
ضمنا اون sudo  رو از اسکریپت بیار بیرون اینطوری برای بلوک های بعدی هم باید sudo بذاری :
sudo ScriptName