echo
begynte innen Multics. Etter at den ble programmert i C av Doug McIlroy som en «fingerøvelse» og viste seg å være nyttig, ble den en del av Versjon 2 Unix. echo -n
i versjon 7 erstattet prompt
, (som oppførte seg som echo
, men uten å avslutte utgangen med en linjeskiller).
På PWB / UNIX og senere begynte Unix System III echo
å utvide C-rømningssekvenser som \n
med den bemerkelsesverdige forskjellen at oktale rømningssekvenser ble uttrykt som \0ooo
i stedet for \ooo
i C.
Åttende utgave Unix echo
gjorde bare escape-utvidelsen da den passerte et -e
-alternativ, og at atferden ble kopiert av noen få andre implementeringer som f.eks. den innebygde echo
kommandoen til Bash eller zsh og GNU echo
.
På MS-DOS er kommandoen tilgjengelig i versjoner 2 og senere.
I dag finnes flere inkompatible implementeringer av echo
på forskjellige operativsystemer (ofte flere på samme system), noen av dem utvider rømningssekvenser som standard, noen av dem ikke, noen av dem godtar alternativer (listen over som varierer med implementeringer), noen av dem ikke.
POSIX-spesifikasjonen av echo
etterlater oppførselen uspesifisert hvis det første argumentet er -n
eller et hvilket som helst argument inneholder tilbakeslagstegn mens Unix-spesifikasjonen (XSI-alternativet i POSIX) mandater utvidelsen av (noen) sekvenser og tillater ikke behandling av opsjoner. I praksis er mange echo
implementeringer ikke kompatible i standardmiljøet.
På grunn av disse variasjonene i atferd, echo
betraktes som en ikke-bærbar kommando på Unix-lignende systemer, og printf
-kommandoen (hvis tilgjengelig, introdusert av 9. utgave Unix) foretrekkes i stedet.