Hacker News new | ask | show | jobs
by antirez 3283 days ago
The Tcl programming language is what shell scripting should be, basically. It is not just a language with all the features you need, it has explicit Unix shell alike scripting capabilities and strong DSL abilities. An example two-liner:

    set files [glob /etc/*.conf]
    foreach f $files {file lstat $f file_info; puts "$f: $file_info(size)"}


    /etc/asl.conf: 1051
    /etc/autofs.conf: 1935
    /etc/dnsextd.conf: 2378
    ... and so forth ...
Also there is an `exec` command that supports pipes, redirections, and so forth:

    set result [exec cat /etc/passwd | grep Directory]
The pipe has no special meaning in Tcl, but because of its DSL capabilities you can do things like that. Exec is a DSL basically.