我一直在设置一个脚本来处理快速服务器。这需要管道或文件输入(tail /var/log/messages | haste和haste < /path/to/file.txt)并将其提交给服务器,然后服务器在我的终端中输出 a 。见下文:
#!/bin/bash
url="http://hastebin.com"
key="$(curl --silent --data-binary @/dev/fd/0 $url/documents | cut -d "\"" -f 4)"
echo "$url/$key"
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但是它在输入中添加了一个尾随的新行。如何阅读@/dev/fd/0以删除\n新行?
编辑:这是我提交的匆忙修剪换行符的完整脚本:
#!/usr/bin/env bash
url="http://hastebin.com"
data=$(< /dev/fd/0)
key="$(printf "%s" "$data" | curl -X POST -s --data-binary @- "$url/documents" | cut -d "\\"" -f 4)"
echo "$url/$key"
Run Code Online (Sandbox Code Playgroud)
而不是echo使用echo -n.
如果这不起作用(例如,在带有/bin/shas shell 的 OSX 上),或者如果您想让脚本独立于它在哪个 shell 下运行,请使用/bin/echo -n .
使用 更改输出换行符tr,例如
echo "$url/$key" | tr '\n' '|'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8603 次 |
| 最近记录: |