LINUX.ORG.RU
решено ФорумAdmin

Curl и сервисы отправки быстрой пасты: портят мой bash prompt

 , , ,


0

2

Привет, ЛОР.

Помоги разобраться. Есть разные сервисы быстрой отправки пасты/логов в инет типа paste.rs или ix.io (второй сейчас он в оффлайне, правда).

Так вот, на сайте paste.rs есть пример:

echo "Hello, world!" | curl --data-binary @- https://paste.rs/

У меня подобные сервисы почему-то «ломают» мой bash shell prompt. После выполнения такой команды, следующая строка в консоли выглядит так:

https://paste.rs/Bjudt~ >

Ссылка/выхлоп влазит перед моим ~ >

Уверен, вы сталкивались с таким. Как пофиксить?

Перемещено hobbit из general

★★★★★

Последнее исправление: Gonzo (всего исправлений: 2)

Добавить перевод строки после curl

echo "Hello, world!" | curl --data-binary @- https://paste.rs/; echo
No
()

paste.rs возвращает URL без символа конца строки. Либо добавляй его сам (пайп в какую-нибудь утилиту или как указали выше), либо используй шелл, который делает вот так:

~ % echo "Hello, world" | curl --data-binary @- https://paste.rs/                                                                                       
https://paste.rs/yEO5m%                                                                                                                                                                             ~ %

где % после ссылки инвертированного цвета - это zsh добавляет перевод строки, если программа выплюнула что-то без оного.

token_polyak ★★★★
()
Последнее исправление: token_polyak (всего исправлений: 2)

Настрой zsh. Там через переменную окружения можно настроить добавление переноса, если его нет

rtxtxtrx
()
Ответ на: комментарий от No

Отлично, спасибо большое!

Gonzo ★★★★★
() автор топика
Ответ на: комментарий от rtxtxtrx

Звучит как принципиально нерешаемая проблема. Боюсь представить, через какую задницу, подпертую костылями, они это делают.

t184256 ★★★★★
()
Ответ на: комментарий от t184256

Мне именно это помогло. Я сто лет назад добавил эту строку и комментарий написал, чтобы не забыть зачем

rtxtxtrx
()
Ответ на: комментарий от t184256

ну я теперь понял, что у него фиш и прочитал что там в топике написано. мне кажется, что самым правильным будет использовать zsh как все нормальные люди, там все это поведение задается через переменные окружения. я не помню только, что еще устанавливал

rtxtxtrx
()
Ответ на: комментарий от rtxtxtrx

Какой нафиг фиш? Да и zsh мне эти ваши тоже не всрались. Мне нужно было решение для баша. Мне его дал чувак в самом первом комментарии. Все, тема решена.

Gonzo ★★★★★
() автор топика
Ответ на: комментарий от Gonzo

какое смузи… zsh - дефолт во многих дистрибутивах. если на баше не писал, то ты не поймешь зачем его всюду тянут

rtxtxtrx
()
Ответ на: комментарий от Gonzo

Это не решение! Решение - это когда все настроено так когда ОНО ЗА ТЕБЯ ПЕРЕНОСЫ ставит:

# .bashrc

# решение 1
export PROMPT_COMMAND="echo"

# решение 2
export PS1="\n$PS1"

Твое «правильное» решение сойдет для макак, которым не лень лишнюю команду печатать

rtxtxtrx
()
12 февраля 2024 г.
echo "Hello, world!" | curl -w'\n' -d@- https://paste.rs/
bunu
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.