( Nextra | 2017. 03. 25., szo – 11:43 )

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