shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RES: [shell-script] Alterar cores do monitor


From: Julio Cezar Neves - DATAPREVRJ
Subject: RES: [shell-script] Alterar cores do monitor
Date: Tue, 21 Jan 2003 16:11:12 -0300

> a não ser que o echo que você tenha no sh já funcione por padrão
> não quebrando a linha no final, mas eu acho difícil.

Realmente não quebra. Costumo usar: echo " ... \c" que é a sintaxe do C.

> > echo "\007" funciona em qq sh.

Mas no final coloquei, de gozação, a frase: to b-e or not to b-e. Com isso
eu queria dizer que para alguns dialetos é necessário o -e para outro o -e é
erro de sintaxe garantido ou seu dinheiro de volta. :)

> 
> olha amigão, esse teu comentário muito me intrigou e fui fazer o
> teste de campo.
> 
> primeiro, convém lembrar que diversos unix/linux possuem um
> echo executável no /bin ou /usr/bin, além do próprio echo
> builtin do shell. no caso do bash, ele sempre usa o builtin
> em preferência do comando do sistema, então não tem problema.
> 
> tenho aqui o cygwin e um freebsd 4.0 pra testar, ambos
> possuindo o "sh", sem ser link. só que o sh do cygwin é
> o ash, então não conta. então fui fazer o teste no bsd.
> 
> pra garantir, antes de mais nada desabilitei o /bin/echo
> pra evitar confusão.
> 
> então eu digitei:
> 
>   sh
>   echo "\007"
> 
> e imprimiu
> 
>   \007
> 
> ao invés do código octal ser interpretado.
> pra complementar os testes, criei um arquivo assim:
> 
>   #!/bin/sh
>   echo "\007"
> 
> executei e o resultado foi o mesmo...
> 
> no entanto, deu certo quando eu coloquei a opção -e...
> 
> olha só, na man page do sh no freebsd:
> 
>   "echo [-en] string"
> 
> nossa, eu sou um completo LUSER em freebsd, não consegui
> descobrir qual a versão desse "sh", mas a man page começa
> assim:

Poizé Aurélio, acho que o problema está no fato do sh e ksh não serem OSS.
Desta forma, quem escreveu o sh GPL, deve ter tido alguma influencia do
bash, já que teoricamente, o sh tem que ser único para todos os sabores
*N?X. Veja só as respectivas man pages:

     NAME

        echo - echo arguments


     SYNOPSIS

        /usr/ucb/echo [arg] . . .

        /usr/ucb/echo [-n] [arg]

Este é o correspondente ao seu /bin/sh que será usado caso o builtin falhe.

================================================
     NAME
          echo - put string on virtual output

     SYNOPSIS
          echo [string . . . ]

Este é o builtin. Repare que ele não possui sequer a opção -n. É o default.
Repare:
Prompt> type sh
sh is /usr/bin/sh
Prompt> type echo
echo is a shell builtin
Prompt> echo "\007"
    <== Neste ponto, ele não escreveu nada mas fez bliiimm...
Prompt> echo -e "\007"
-e  <== Escreveu -e e fez bliiiim!

================================================

Com isso tudo eu quis dizer que o valor em octal sempre funcionará (com ou
sem o -e), já na forma do bash (\a) nem sempre isto será verdade.
Finalizando, meu grande amigo, insisto:

To b-e or not to b-e. That's the BIG question! :)

[ ]s,
Julio Cezar Neves
-Eu Apoio o Software Livre-
-I Support Free Software-
* +55 21 2528-7070  /  9853-4044
*address@hidden


> aurelio
> 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]