나는 haste-server와 함께 작동하도록 스크립트를 설정했습니다. 이는 파이프 또는 파일 입력( 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"
잘 작동하지만 입력에 후행 개행 문자를 추가합니다. 새 줄을 @/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"
답변1
"echo" 명령을 통해 줄바꿈 방지
echo
사용하는 대신 echo -n
.
이것이 작동하지 않거나(예를 들어 /bin/sh
OSX에서 셸로 사용) 스크립트가 실행되는 셸에 관계없이 실행되도록 하려면 를 사용하세요 /bin/echo -n
.
"페이로드"(여기서는 "$key")에 줄바꿈을 사용하지 마세요.
tr
예를 들어 다음을 사용하여 출력 개행을 변경하십시오 .
echo "$url/$key" | tr '\n' '|'