Sziasztok!
Lehet primitív a kérdés, illetve csak megerősítést vagy javaslatot várok.
Egy olyan TCL-TK scriptet írok, ami mind SUSE Linuxon, mind Solaris-on használható. A kérdésem csupán az interpreter elérési útjára vonatkozik (a script első sora).
Solaris-on az alábbi az interpreter:
#!/usr/sfw/bin/wish8.3
SLES Linuxon pedig az alábbi:
#!/usr/bin/wish8.4
Na most, csak annyit csináltam, hogy a scriptben az interpreter a "#!/usr/bin/wish8.4", és a Solaris gépen létrehoztam egy soft linket: "ln -s /usr/sfw/bin/wish8.3 /usr/bin/wish8.4" . Így mindkettővel használható.
A kérdésem csak annyi, hogy a Solaris-on ez a soft link nem okoz semmi problémát, tehát nem lehet semmilyen negatív hatása?
Kösz
batagy
- 1582 megtekintés
Hozzászólások
A unixok ismerik a soft linket. Nem lesz vele gond. (IMHO)
--
unix -- több, mint kód. filozófia.
Life is feudal
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Mivel nem ugyanaz a két interpreter, ezért nem ússza meg, hogy ne symlinkeljen...
#!/usr/sfw/bin/wish8.3
VS.
#!/usr/bin/wish8.4
- A hozzászóláshoz be kell jelentkezni
Szia!
Kösz az ötletet, ez se rossz!
SLES Linuxon van defaultból "wish" symlink a wish8.4-re:
egyobat@seaf:~> ls -l /usr/bin/wish*
lrwxrwxrwx 1 root root 7 2009-05-29 20:19 /usr/bin/wish -> wish8.4
-rwxr-xr-x 1 root root 6312 2008-02-06 02:40 /usr/bin/wish8.4
egyobat@seaf:~> file /usr/bin/wish
/usr/bin/wish: symbolic link to `wish8.4'
egyobat@seaf:~> file /usr/bin/wish8.4
/usr/bin/wish8.4: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), for GNU/Linux 2.6.4, dynamically linked (uses shared libs), stripped
egyobat@seaf:~>
Solaris-on nem volt defaultból "wish" symlink, illetve a "/usr/sfw/bin" nincs benne a $PATH-ban sem defaultból.
[root@sead ~]$ ls -l /usr/sfw/bin/wish*
-r-xr-xr-x 1 root bin 4384 Jan 23 2005 /usr/sfw/bin/wish8.3
[root@sead ~]$ file /usr/sfw/bin/wish8.3
/usr/sfw/bin/wish8.3: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, stripped
[root@sead ~]$
Ezért készítettem egy "wish" symlinket Solaris-ra, egy olyan helyre, ami benne van a $PATH-ban, ugye célszerűen a "/usr/bin"-be:
[root@sead ~]$ ln -s /usr/sfw/bin/wish8.3 /usr/bin/wish
[root@sead ~]$ ls -l /usr/bin/wish
lrwxrwxrwx 1 root root 20 Jun 24 15:16 /usr/bin/wish -> /usr/sfw/bin/wish8.3
[root@sead ~]$ file -h /usr/bin/wish
/usr/bin/wish: symbolic link to /usr/sfw/bin/wish8.3
[root@sead ~]$
Ekkor az alábbi interpreter használható a TCL-Tk scriptben:
#!/usr/bin/env /usr/bin/wish
Ez is mivel benne van a $PATH-ban:
#!/usr/bin/env wish
De akkor végül is ez is megy:
#!/usr/bin/wish
Tehát végül is ugyanoda értem ahol voltam! :)) De az "#!/usr/bin/env wish" is működik! :)
- A hozzászóláshoz be kell jelentkezni
Végül is a "#!/usr/bin/wish" és a wish symlink elegánsabb és hordozhatóbb megoldás , mint a "#!/usr/bin/wish8.4" és a wish8.4 symlink.
- A hozzászóláshoz be kell jelentkezni