Perché pbpaste non restituisce il cursore sulla nuova riga in bash?

1

Eseguo il comando pbpaste in Terminal (bash) per ottenere il risultato dei miei appunti, ma a differenza di altri comandi che lasciano il cursore su una nuova riga sotto il precedente stdout, pbpaste lo lascia a destra di esso , come nell'esempio, mostrando il comando inserito tra due echo hello s:

hostname:~ jesse$ echo hello
hello
hostname:~ jesse$ pbpaste
https://itunes.apple.com/us/app/noizio/id928871589?mt=12hostname:~ jesse$ echo hello
hello
hostname:~ jesse$ 

Perché è così? Sembra molto strano e lo rende difficile da leggere.

    
posta jsejcksn 08.04.2016 - 12:06
fonte

2 risposte

6

pbpaste incolla esattamente ciò che copi.

Nel tuo caso hai copiato la riga escludendo il CR / LF alla fine. Per ottenere il ritorno è necessario copiare dall'inizio della linea all'inizio della riga successiva

Da @patrix comment

La maggior parte dei comandi termina con un CR / LF. per esempio. echo "Hello" esporrà una nuova riga, tuttavia per eco questa può essere modificata echo -n "Hello" .

Se vuoi puoi aggiungere una nuova riga dopo un pbpaste usando echo "$(pbpaste)" invece.

    
risposta data 08.04.2016 - 12:26
fonte
-1

Questo non risponde direttamente alla tua domanda su pbpaste in particolare, ma sono un utente di zsh (con oh-my-zsh ) e gestisce lo scenario che descrivi con il risultato desiderato per ogni output del terminale.

➜  ~ echo -n hello
hello%                                                                          
➜  ~
➜  ~
➜  ~ /bin/bash
bash-3.2$ echo -n hello
hellobash-3.2$

Comprendo che è che tira fuori il bazooka per uccidere una zanzara , ma risolve il tuo vero problema laddove la mancanza di una nuova riga su ciò che hai incollato non viene gestita con grazia.

    
risposta data 08.04.2016 - 13:28
fonte

Leggi altre domande sui tag