我正在尝试将字符串文字输出到文件。到目前为止,我一直在尝试使用 echo 命令,但不幸的是,我发现无法输出“-n”、“-e”或“-E”(至少在不使代码复杂化的情况下无法输出)。是否有其他命令可用于输出文字字符串?
如果该命令在我所连接的远程机器上可用,那就更好了——我正在尝试更新远程端的文件。
当然,我可以简单地从客户端传递数据,但如果这样做,我需要在每次执行命令后重新连接到 SSH 服务器。
我正在使用的解决方法:
echo alabama | ssh server dd of=/tmp/alabama conv=fsync
echo china | ssh server dd of=/tmp/china conv=fsync
我想做的事:
(echo 'echo alamaba | dd of=/tmp/alabama conv=fsync'
echo 'echo china | dd of=/tmp/china conv=fsync') | ssh server /bin/sh
我正在从一个随机程序传递随机字符串,并且我想确保后一种形式可以与字符串“-e”、“-n”和“-N”一起使用
答案1
使用printf
:
printf '%s\n' "-n"
答案2
对于您的特定示例,您可以在此处使用 bash 字符串(请参阅 man)。而不是这样:
echo alamaba | dd of=/tmp/alabama conv=fsync
你可以这样做:
dd of=/tmp/alabama conv=fsync <<< alabama
例如尝试这个:
dd of="-e abc -N def" conv=fsync <<< "-e abc -N def"