Portál AbcLinuxu, 27. dubna 2024 13:17

Drobky: symlink ⇒ skript

14.2.2011 17:14 | Přečteno: 1051× | Linux

Nainstaloval jsem pod Fedorou 14 LibreOffice. Jelikož standardní rpm-ka to háže někam do /opt, vytvořil jsem pod /usr/bin příslušné symlinky. Jenže ouha, z jakéhosi prapodivného důvodu se v tomto případě namísto LibreOffice spouštely OpenOppice. A anžto jsem byl líný dělat to pro každý link zvlášt, zbastlil jsem skript, který symlink předělá na shellový skript. Tady je, kdyby to někdo využil:

#!/bin/sh
# symlink2sh <file> [≶file> ...]

if test $# -lt 1; then
 echo "$0 <file> [<file> ...]" 2>&1
 exit -1
fi

for i in "$@"
do
  if test -L "$i"
  then
    LNK=`readlink "$i"`
    rm "$i"
    echo "#!/bin/sh" > "$i"
    echo $LNK >> "$i"
    chmod 755 "$i"
  else
    echo "Error: '$i' not a symlink" 2>&1
  fi
done
       

Hodnocení: 71 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

Michal Wirth avatar 14.2.2011 17:43 Michal Wirth | skóre: 26
Rozbalit Rozbalit vše Re: Drobky: symlink ⇒ skript
Odpovědět | Sbalit | Link | Blokovat | Admin
pokud jsem spravne koukal, ma to jednu vadu ... takto prijdete o moznost zadavani argumentu ... chtelo by to tam pridat asi neco jako "$@" ... viz. man bash
Důležité se časem stává absurdním, absurdní se časem mění v důležité.
Petr Tomášek avatar 21.2.2011 13:40 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Drobky: symlink ⇒ skript
Hm, máte pravdu, bylo to tak myšleno, ale nějak mi to vypadlo; opravím. Díky!
multicult.fm | monokultura je zlo | welcome refugees!
Josef Kufner avatar 14.2.2011 19:57 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Drobky: symlink ⇒ skript
Odpovědět | Sbalit | Link | Blokovat | Admin
A co prostě OpenOffice odinstalovat?
Hello world ! Segmentation fault (core dumped)
Petr Tomášek avatar 15.2.2011 00:10 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Drobky: symlink ⇒ skript
Rád experimentuju :-P
multicult.fm | monokultura je zlo | welcome refugees!
Amarok avatar 14.2.2011 20:31 Amarok | skóre: 33 | blog: blogoblog
Rozbalit Rozbalit vše Re: Drobky: symlink ⇒ skript
Odpovědět | Sbalit | Link | Blokovat | Admin
z jakéhosi prapodivného důvodu

?? Nějak nechápu, na to se dá přece lehce přijít, teda záleží na tom, odkud to spouštíš. Zkus v terminálu.
GNUniverse - May the source be with you...
Petr Tomášek avatar 15.2.2011 00:12 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Drobky: symlink ⇒ skript
Jinak jsem to ani nespouštěl (jinak bych prostě vytvořil spouštěč s plnou cestou...). A na terminálu se mi nic nevypsalo, co by mi řeklo, v čem je problém... Nicméně obalením do shellového skriptu se to vyřešilo, takže už není co řešit :-)
multicult.fm | monokultura je zlo | welcome refugees!
16.2.2011 15:56 Jiří Lisický | skóre: 31 | blog: JIL_blog | Olomouc
Rozbalit Rozbalit vše Re: Drobky: symlink ⇒ skript
Odpovědět | Sbalit | Link | Blokovat | Admin
Nevím jestli je to i v jiných distribucích, ale Fedora má příkaz alternatives (je v balíku chkconfig), který se stará o to vybrat správnou binárku pokud jednu funkčnost zajišťuje víc balíků. Například se přes to nastaví jestli se má použít sendmail nebo postfix.
David Watzke avatar 16.2.2011 18:39 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Drobky: symlink ⇒ skript
Na gentoo je pro tohle eselect.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
Petr Tomášek avatar 21.2.2011 13:38 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Drobky: symlink ⇒ skript
Jo, ale tohle nechci. Já chci mít možnost spouštět LO i OO.org vedle sebe...
multicult.fm | monokultura je zlo | welcome refugees!

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.