Tein Bash-skriptin, joka poistaa kaikki snd-alkuiset modulit. Vaikuttaa toimivan oletetusti, mutta onko tuo while-syntaksi aivan korrekti? Täysin ongelmaton tämä ei ole, sillä rmmod-virheen sattuessa skripti jää ikuiseen silmukkaan...
#!/bin/bash
while module="`lsmod | grep '^snd' | grep ' 0 ' | cut -d' ' -f 1 | head -1`"
[ -n "$module" ]
do
echo "Unloading ${module}..."
rmmod $module
done
#!/bin/bash
while module="`lsmod | grep '^snd' | grep ' 0 ' | cut -d' ' -f 1 | head -1`"
[ -n "$module" ]
do
echo "Unloading ${module}..."
rmmod $module
done
Vastaukset 2
Vanhimmat
Lisää rmmod-riville tarkistus. Jos rmmodin paluuarvo on false (siis 0), lopeta skripti ja palauta jokin nollasta poikkeava numero (standardi tapa kertoa, että suoritus päättyi virheeseen)
tähän tapaan:
#!/bin/bash
while module="`lsmod | grep '^snd' | grep ' 0 ' | cut -d' ' -f 1 | head -1`"
[ -n "$module" ]
do
echo "Unloading ${module}..."
rmmod $module || exit 1
done
Joo kiitti, pääsi unohtumaan. Tää onkin jo ihan riittävä omaan käyttöön.