如何将 csh 别名转换为 MODULEFILE 兼容的设置别名命令?

问题描述 投票:0回答:1

我有一堆别名想与同事分享,我想将其放入我们的项目modulefile中。有没有一个脚本可以帮我进行转换?或者至少给我一个好的开始,然后我可以修复那些翻译不好的问题?

附注具有更多代表的人可以创建模块文件标签吗?

tcl alias csh environment-modules modulefile
1个回答
1
投票

我不知道有什么工具可以进行翻译,但是你可以使用这样的东西如果别名都是单行的

首先,制作一个像这样的Tcl脚本,例如,称为

convertalias.tcl

while {[gets stdin line] >= 0} {
    if {[regexp {^alias (\w+)='(.*)'$} -> name def]} {
        puts [list set-alias $name $def]
    } else {
        puts stderr "Rejected line: $line"
    }
}

然后在 bash 命令行中使用它,如下所示(其中

bash$
是提示符):

bash$ alias | tclsh convertalias.tcl >aliases.def

然后你必须破解

aliases.def
文件,但这应该给你一个开始。它还会打印出任何它无法理解的行(毕竟,这只是一个愚蠢的脚本......)

© www.soinside.com 2019 - 2024. All rights reserved.