我试图从我的 shell 运行它:
我有一堆机器,所以我的 .bash_profile 中有这个
function sssh() {
ssh -i ~/.ssh/supersecret.pem $@
}
这是命令:
export BOX=mybox.a.domain.com
sssh www-data@$BOX "tail -n 1 /path/to/logs/some.log | awk -F '\t' '{print $1}'"
日志文件由制表符分隔。因此,-F '\t'
在 awk 上——这正是问题所在。它被转义并且没有显示我想要的列。当我tail -n 1 /path/to/logs/some.log | awk -F '\t' '{print $1}'
在盒子上本地运行时,它按预期工作。我该如何解决这个问题?
答案1
经过反复尝试后我找到了答案:
ssh www-data@$BOX "tail -n 1 /server/musicgraph/prod/logs/dao.log | awk -F\$'\\t' '{print \$1}'"