私のホームディレクトリには、アクセスできる特定のノード用のサブディレクトリ (CentOS、Ubuntu など) があります。
各 OS は独自のプログラムのコピーを保持しており、そのうちの 1 つが Python です。
$HOME/{CentOS, Ubuntu, ...}/{python2,python3}
環境モジュールを使用しているため
ssh
、別のコンピューター (COMP) に接続すると、その特定の (COMP) に Python エイリアスが設定されます。例えば:COMP1 は CentOS です
COMP1に
ssh
入ると、「python3」が指すはずです$HOME/Centos/python3/bin/python3
COMP2はUbuntuです
私
ssh
がCOMP2に入るとき、「python2」は指す必要があります$HOME/Ubuntu/python2/bin/python2
を使用して bash で OS 名を取得できますがlsb_release -si
、tcl で記述されたモジュール ファイルを使用しており、 lsb_release
. lsb_release -si
Tcl スクリプトから呼び出されたときに出力する bash スクリプトを作成できますか?
私はこれをやろうとしましたが、運がありません:
バッシュスクリプト:
#!/bin/bash OS=$(lsb_release -si) echo $OS
MODULEFILE スクリプト:
#%Modulefile1.0
set OS [catch {exec bash /path/to/bash_file} output]
puts $OS
これはあまり効果がありません。