尝试在别名定义

时间:2017-12-05 11:03:41

标签: linux bash

嘿,任何人都可以帮我解决创建alias时的语法错误。我是bash的新手,所以我不知道使用alias命令有任何限制

每次我运行此alias命令

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]}''

我收到此错误。

bash: syntax error near unexpected token `('

1 个答案:

答案 0 :(得分:1)

避免使用alias(它们只能在交互式shell中使用)并定义一个简单的函数来代替

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]}'
} 

并在您的任何启动配置文件中定义(例如,例如.bashrc)并启动并发布新shell并执行

doSomething