Közös TCL-TK script Linuxra és Solaris-ra

Fórumok

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

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

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! :)