egos; embed golang script in shell script
296
Command line tool to embed golang script in shell script.
This fork is to enable using egos via Docker.
Please check the help message:
docker run --rm -i hugojosefson/egos -h
A "hello, world" program:
docker run --rm -i hugojosefson/egos -i '"fmt"' 'fmt.Println("hello, world")'
#=> "hello, world\n"
Print source code generated by egos (useful for debugging).
docker run --rm -i hugojosefson/egos -d -i '"fmt"' 'fmt.Println("hello, world")'
#=> `// generated by egos(1)
# package main
#
# import (
# "fmt"
# )
#
# func main() {
# fmt.Println("hello, world")
# }
# `
Access command-line arguments.
docker run --rm -i hugojosefson/egos -i '"fmt";"os"' '
for _, s := range os.Args {
fmt.Println(s)
}' a BB 'c c'
#=> "a\nBB\nc c\n"
"Each line" mode (add loops around code).
docker run --rm -i hugojosefson/egos -i 'f "fmt"' -n 'f.Println(line)' <<'END'
foo
bar
baz
END
#=> "foo\nbar\nbaz\n"
"each line with print" mode.
docker run --rm -i hugojosefson/egos -p 'line += line' <<'END'
foo
bar
baz
END
#=> "foofoo\nbarbar\nbazbaz\n"
If you want to make your script load faster:
go build command.docker run --rm -i hugojosefson/egos -d -p 'line += line' > linedup.go
docker run --rm -i -v $(pwd):/go -u $(id -u):$(id -g) golang go build linedup.go
./linedup <<'END'
foo
bar
baz
END
#=> "foofoo\nbarbar\nbazbaz\n"
zlib License.
Content type
Image
Digest
Size
109.5 MB
Last updated
over 7 years ago
docker pull hugojosefson/egos