我有一个shell脚本,从另一个shell脚本获取输入。流在stdin上传输。
我需要将stdin流的所有字节捕获到shell脚本中的单个变量。然后,对它执行一些操作,并通过stdout将其发回。
我遇到的问题是有时输入文件中有一个尾随的换行符,但有时却没有。如果没有,那么我不想添加一个。但是,如果有一个尾随换行符,我想保留它。
问题在于,无论我尝试什么,系统总是输出没有尾随换行符(如同的情况) printf
)或者它总是以换行符输出(如同的情况) echo
)。
请告诉我一个过程的名称是什么(不是 echo
要么 printf
)它简单地接受一个变量并逐字逐句地逐字节输出它。我已经尝试了所有可能的选择 printf
并且它们都不能保留尾随换行符。
谢谢。
我相信你问了 对 你问的问题 如何在不剥离任何尾随换行符的情况下将stdin捕获到变量? 我相信, 正如你在其他问题中指出的那样 ,如果你读取stdin并将其保存到shell变量中,那么任何尾随的换行都会被剥离。因此,在此之后,任何命令都无法区分这两种情况。 ...... ...... P.S.请不要同时在多个Stack Exchange站点(例如,超级用户和U& L)上发布几乎相同的问题。
—
G-Man