Как преобразовать псевдонимы csh в совместимые с MODULEFILE команды set-alias? - PullRequest
2 голосов
/ 10 декабря 2010

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

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

1 Ответ

1 голос
/ 13 декабря 2010

Я не знаю ни одного инструмента, который выполняет перевод, но вы можете использовать что-то вроде этого , если псевдонимы все однострочные :

Во-первых, создайте скрипт 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

You 'Затем мне придется взломать файл aliases.def, но он должен дать вам старт.Он также будет распечатывать любые строки, которые он не мог получить (в конце концов, это просто глупый сценарий ...)

...