Hello all, I wan to create an alias of this command:
alias dockps = "docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}""
The syntax for creating an alias is:
alias $COMMAND = "docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}""
However, since there are quote marks, I assume they neet to be escaped with \
. But in the case above, I’m getting the errors in fish and bash.
Fish error:
$ alias dockps = "docker ps --format \"table {{.ID}} {{.Names}} {{.Status}} {{.Ports}}\""
alias: expected <= 2 arguments; got 3
Bash error:
$ alias dockps = "docker ps --format \"table {{.ID}} {{.Names}} {{.Status}} {{.Ports}}\"" bash: alias: dockps: not found bash: alias: =: not found bash: alias: docker ps --format "table {{.ID}} {{.Names}} {{.Status}} {{.Ports}}": not found
What am I doing wrong?
Thanks in advance!
Edit:
For fish shell users out there, this can be accomplished by using func
:
$ function dockerps docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}" end $ funcsave dockerps
I’m leaving the question up as the question with escape characters is still relevant and can be a learning resouce.
Just a thought: It should be possible to save the default ps output does that not fit your use case better?
man 5 docker-config-json
https://man.archlinux.org/man/extra/docker/docker-config-json.5.en
OMG! I didn’t even know about this, thanks! Will look into it, would be awesome to have ps command spit out things like I want them by default :-)