Module 如何与鱼一起使用lmod?
虽然lmod从7.4版开始支持fish,但我必须使用旧版本的服务器。我怎样才能使它与鱼一起工作?(即使容量有限。)此解决方案允许我运行命令,如Module 如何与鱼一起使用lmod?,module,fish,Module,Fish,虽然lmod从7.4版开始支持fish,但我必须使用旧版本的服务器。我怎样才能使它与鱼一起工作?(即使容量有限。)此解决方案允许我运行命令,如模块加载R。在一般情况下,它可能会失败 定义一个便利功能,如下所示: function module eval $LMOD_CMD bash $argv | lmod_bash_to_fish.py | sour
模块加载R
。在一般情况下,它可能会失败
定义一个便利功能,如下所示:
function module
eval $LMOD_CMD bash $argv | lmod_bash_to_fish.py | source -
end
其中lmod_bash_to_fish.py
包含以下内容:
#!/usr/bin/env python3
import re
import sys
f = sys.stdin
while True:
line = f.readline()
if not line:
break
match = re.match(r'^(\w+)="(.+)";\n$', line)
if not match:
raise RuntimeError("Unexpected line: {}".format(line))
var, val = match.groups()
line = f.readline()
if line != "export {};\n".format(var):
raise RuntimeError("Variable not immediately exported: {}".format(line))
if var == 'PATH':
val = " ".join('"{}"'.format(elem) for elem in val.split(':'))
print("set -gx fish_user_paths {}".format(val))
continue
print("set -gx {} \"{}\"".format(var, val))