小编Leo*_*yev的帖子

在 ssh $host $FOO 和 ssh $host "sudo su user -c $FOO" 类型构造中引用

我经常最终通过 ssh 发出复杂的命令;这些命令涉及到 awk 或 perl 一行的管道,因此包含单引号和 $。我既无法找出正确执行引用的硬性规则,也没有找到很好的参考。例如,请考虑以下事项:

# what I'd run locally:
CMD='pgrep -fl java | grep -i datanode | awk '{print $1}'
# this works with ssh $host "$CMD":
CMD='pgrep -fl java | grep -i datanode | awk '"'"'{print $1}'"'"
Run Code Online (Sandbox Code Playgroud)

(注意 awk 语句中的额外引号。)

但是我如何让它与它一起工作,例如ssh $host "sudo su user -c '$CMD'"?在这种情况下是否有管理报价的通用方法?..

shell bash ssh quoting

33
推荐指数
2
解决办法
1万
查看次数

gnu coreutils 排序坏了吗?

考虑以下输入进行排序:

cat > foo <<EOM
D,,5014978
DD,,25
D,I,1972765530
D,Y,4223624
-,Y,71285059
YA,I,2
EOM
Run Code Online (Sandbox Code Playgroud)

现在尝试运行 sort foo

在我的任何 linux 机器(gnu coreutils 版本 6.9-7.4)上尝试此操作时,输出未排序。在 cygwin (gnu coretuils 8.5) 下运行时,输出已排序。注释?

bash coreutils sort

11
推荐指数
1
解决办法
1191
查看次数

标签 统计

bash ×2

coreutils ×1

quoting ×1

shell ×1

sort ×1

ssh ×1