Igen ezeket ismerem, de eddig valahogy nem vezettek eredményre.
Így is kezdtem. A szubrutinban máris if then van.
Ha létezik a program akkor linkelés ha nem létezik akkor nincs linkelés, hanem megyünk tovább a másik programra. No itt akadtam el
És ugyanezt lejátsszuk még egyszer. Ezért vannak a szubrutinok.
De lehet hogy eleve rosszul építettem fel az egészet. Persze ha kiREMelem ami nekem nincs, akkor frankó.
Nagyon konkrétan a kedvenc disztróm repójában nincs benne a kedvenc böngészőim egyike sem. Ezt megoldottam.
Viszont a böngészőkben lévő ffmpeg plugin hagy némi kívánni valót maga után. Ezért azt egy külső tárolóból szedem le és mindig be kell linkelni az adott böngészőnek a megfelelő helyre.
Nos ezt nem szeretném mindig kézzel elvégezni. Elvégre erre való a szkript és a cron.
Íme:
Ezek a változók
if [ "$(uname -i)" = "x86_64" ]; then
libpath="lib64"
else
libpath="lib"
fi
source_path="/usr/${libpath}/browser-plugins"
filename=$(ls ${source_path})
name="libffmpeg.so"
szubrutin 1 - innen nem tudok tovább menni.
check_app () {
if ! [ -x "/usr/bin/${browser}" ]; then
echo -e "A program nem található \n"
else echo "A program létezik"
fi
}
szubrutin 2
check_folder () {
if ! [ -d ${link_path} ]; then
echo -e "A mappa nem létezik, ezért létrehozom. \n" && mkdir ${link_path} >/dev/null 2>&1
if ! [ -d ${link_path} ]; then
echo -e "A mappát nem sikerült létrehozni! Ellenőrizd az útvonalat, és jogosultságokat. \n"
echo -e "Ezt az útvonalat és mappát adtad meg: ${link_path} \n \r"
exit
fi
fi
}
Hú erről el is feledkeztem: szubrutin 3
make_link () {
ln -fs ${source_path}/${filename} ${link_path}/${name}
}
És itt a vége:
browser="opera"
link_path="/usr/${libpath}/${browser}/lib_extra"
check_app
check_folder
make_link
browser="opera-developer"
link_path="/usr/${libpath}/${browser}/lib_extra"
check_app
check_folder
make_link
browser="vivaldi-snapshot"
link_path="/opt/vivaldi-snapshot"
make_link
Váááóóó... most hogy írtam, megláttam a fényt az alagút végén.
Így talán jobb lesz.
A változók, meg a check_folder szubrutin marad, és így jön a vége. Így talán nincs benne hiba.
check_browser () {
if [ -x "/usr/bin/${browser_name}" ]; then
if [ ${browser_name} = ${browser_name} ]; then
link_path="${link_path}"
fi
check_folder
ln -fs ${source_path}/${filename} ${link_path}/${name}
fi
}
browser_name="opera"
link_path="/usr/${libpath}/${browser_name}/lib_extra"
check_browser
browser_name="opera-developer"
link_path="/usr/${libpath}/${browser_name}/lib_extra"
check_browser
browser_name="vivaldi"
link_path="/opt/${browser_name}"
check_browser
browser_name="vivaldi-snapshot"
link_path="/opt/${browser_name}"
check_browser