bashrc w/awk打印别名转义引号问题



下面,该命令的工作效果非常好。但是,在.bashrc中,由于字符串的终止,它不会运行。任何建议都是愉快的:(

ps aux | awk '{print $4 "%t" int($6/1024) " MBt" $11}' | sort -n

我只是想添加一些类似的内容:alias memusage='command'function memusage { command }

要保留memusage别名和原始命令,可以将其放在.bashrc:中

alias memusage="$(cat << 'EOF'
ps aux | awk '{print $4 "%t" int($6/1024) " MBt" $11}' | sort -n
EOF
)"

以下是如何将其定义为函数:

memusage() {
ps aux | awk '{print $4 "%t" int($6/1024) " MBt" $11}' | sort -n
}

如果在一行中定义它,则需要在右大括号前加一个分号:

memusage() { ps aux | awk '{print $4 "%t" int($6/1024) " MBt" $11}' | sort -n; }

注意,function关键字是一个非标准的抨击;标准函数定义的名称后面只有CCD_ 4。

对于alias,将内部's替换为'"'"'s:

$ alias memusage='ps aux | awk '"'"'{print $4 "%t" int($6/1024) " MBt" $11}'"'"' | sort -n'

测试:

$ memusage | grep MEM
%MEM%   0 MB    COMMAND

最新更新