我创建了一个命令来计算我们服务器上每个用户的会话数。这是:
who | awk '{ print $1}' | sort | uniq -c | sort
Run Code Online (Sandbox Code Playgroud)
这工作正常,但是当我将其移动到服务器上的别名时,我只会得到who,
alias who_con="who | awk '{ print $1}' | sort | uniq -c | sort";
Run Code Online (Sandbox Code Playgroud)
我认为这可能是双引号,所以我尝试使用单引号进行封装,但我有相同的行为,
alias who_con='who | awk "{ print $1}" | sort | uniq -c | sort';
Run Code Online (Sandbox Code Playgroud)
小智 6
你需要逃避美元$1。
$ alias wW="who | awk '{ print \$1}' | sort | uniq -c | sort"
$ wW
1 tomasz
Run Code Online (Sandbox Code Playgroud)
$1应该由 awk 扩展,而不是由 shell 扩展。如果没有额外的转义,它会被外壳扩展。你需要多一层逃生。这也将:
$ alias who_con='who | awk "{ print \$1}" | sort | uniq -c | sort';
$ who_con
1 tomasz
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
147 次 |
| 最近记录: |