簡體   English   中英

如何在ssh命令行中使用環境模塊?

[英]How to use environment modules in a ssh command line?

Environment Modules軟件包用於動態修改用戶的環境( debian軟件包 environment-modules )。

我想直接從ssh命令行使用module 目的是能夠從在前端節點上執行的bash腳本在不同節點上執行命令。 我不想為每個不同的節點配置顯式更新PATHLD_LIBRARY_PATH環境變量。

當我直接連接到該節點,然后從該節點調用module ,它顯然可以正常工作:

jyvet> ssh mynode
jyvet@mynode> module load gcc-6.0
jyvet@mynode> gcc --version
gcc (GCC) 6.0.1

但是以下方法失敗:

jyvet> ssh mynode "module load gcc-6.0; gcc --version"
command not found: module
gcc-4.8 (Debian 4.8.4-1) 4.8.4

module/etc/profile.d/modules.sh初始化,該/etc/profile.d/modules.sh/etc/profile調用(在shell啟動時設置環境變量)。

ssh命令執行外殼是一個非交互式外殼 ,既不調用/etc/profile也不讀取配置文件。

解決方法如下:

jyvet> ssh mynode "source /etc/profile; module load gcc-6.0; gcc --version"
gcc (GCC) 6.0.1

您還可以調用bash的登錄實例,以便/etc/profile.d/modules.sh在登錄時自動進行source

ssh mynode "bash -lc 'module load gcc-6.0; gcc --version'"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM