Hey can anyone help me to solve syntax error on creation of alias
.I am new to bash so i am not aware of any restriction in use of alias
command
Every time i run this alias
command
alias user='responseVar=$(curl -XGET link) && echo ${responseVar} | jq '.offsets[] | " (.topic) (.offset) (.logSize) "' | awk 'NR>1{arr[$2]=arr[$2]+($4-$3)} END{for (a in arr) print a"="arr[a]}''
I get this error.
bash: syntax error near unexpected token `('
Advertisement
Answer
Avoid using alias
(they’re only allowed in interactive shells) and define a simple function instead to do
doSomething() { curl -XGET link | jq '.offsets[] | " (.topic) (.offset) (.logSize) "' | awk 'NR>1{arr[$2]=arr[$2]+($4-$3)} END{for (a in arr) print a"="arr[a]}' }
and defined in any of your startup configuration files(e.g. .bashrc
for instance) and launch and new shell and do just
doSomething