2

I have a bunch of aliases that I would like to share with co-workers and I would like to put it in our project modulefile. Is there a script that would do the conversion for me? Or at least give me a good start and then I could fix the ones that didn't translate well?

P.S. Could someone with more rep create a modulefile tag?

coatless
  • 20,011
  • 13
  • 69
  • 84
stephenmm
  • 2,640
  • 3
  • 30
  • 48

1 Answers1

1

I don't know of any tool that does the translation, but you can use something like this if the aliases are all one-liners:

Firstly, make a Tcl script like this, e.g., called 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"
    }
}

Then use it in a bash command line like this (where bash$ is the prompt):

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

You'll then have to hack the aliases.def file, but it should give you a start. It will also print out any lines it couldn't grok (after all, it's just a stupid script...)

Donal Fellows
  • 133,037
  • 18
  • 149
  • 215