假设我可以以用户 foo 的身份 rsh 到机器 XXX,然后执行:
$result=$(rsh -l foo XXX "ls");
echo $result;
我发现结果中的换行符被删除了,我无法逐行查看结果。那么如果我想在返回的结果中包含换行符,我该怎么做?
答案1
答案2
编辑:如果您指的是每个文件之间的换行符,请确保引用结果:
result="$(rsh -l foo XXX "ls");"
这将保留任何字符除了NUL($'\0'
),不能存储在 Bash 变量中。
如果你的意思是尾随换行符丢失了,那么这是我所知道的最简单的解决方案:
resultx="$(commands...; echo x)"
result="${resultx%x}"