Как преобразовать псевдонимы csh в команды установки псевдонимов, совместимые с MODULEFILE?

У меня есть куча псевдонимов, которыми я хотел бы поделиться с коллегами, и я хотел бы поместить их в наш проект файл модуля. Есть ли скрипт, который сделает конвертацию для меня? Или, по крайней мере, дайте мне хорошее начало, а затем я смогу исправить те, которые плохо переводятся?

P.S. Может ли кто-нибудь с большим количеством репутации создать тег modulefile?


person stephenmm    schedule 09.12.2010    source источник


Ответы (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, но это должно дать вам начало. Он также распечатает любые строки, которые не смог найти (в конце концов, это просто глупый скрипт...)

person Donal Fellows    schedule 12.12.2010
comment
И нет, я мало что знаю о файлах модулей. - person Donal Fellows; 13.12.2010