DESAFIO: imprimir a string “-n” usando apenas o comando “echo” do Bash [RESOLVIDO]

13. Re: DESAFIO: imprimir a string “-n” usando apenas o comando “echo” do Bash [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 08/02/2023 - 18:00h

msoliver escreveu:

Com um a caractere a menos. . .
A opção que vejo, apesar de discordar, é:
shopt -s xpg_bash #17 Caracteres
echo -n '\x2dn' #Com "-" ou "n", em octal ou hexa
Ou ainda, um alias para o echo -en:
alias ecen='echo -en'


Aí você estaria usando outros comandos, o que é contra as regras. E mesmo que não fosse contra, usar o comando para definir o alias ou para mudar as opções de funcionamento do shell teriam de entrar na contagem de caracteres.


... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)


  


14. Re: DESAFIO: imprimir a string “-n” usando apenas o comando “echo” do Bash [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 09/02/2023 - 06:25h

A melhor resposta da comunidade foi a do msoliver, com echo -en '\055n'.

Contudo, dá para ser mais curta: echo -ne \\055n (trocando dois apóstrofos por uma barra invertida, assim economizando um caráter).


A ideia do desafio veio deste vídeo, https://youtu.be/lq98MM2ogBk, que apresenta esse comportamento do comando interno echo como um defeito no Bash.

Talvez todos nós façamos melhor se passarmos a usar somente o comando printf para imprimir coisas no Bash, especialmente se for uma variável recebida de fonte externa, sobre a qual não se tem muito controle.


... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)


15. Re: DESAFIO: imprimir a string “-n” usando apenas o comando “echo” do Bash [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 09/02/2023 - 16:55h


paulo1205 escreveu:

A melhor resposta da comunidade foi a do msoliver, com echo -en '\055n'.

Contudo, dá para ser mais curta: echo -ne \\055n (trocando dois apóstrofos por uma barra invertida, assim economizando um caráter).
A ideia do desafio veio deste vídeo, https://youtu.be/lq98MM2ogBk, que apresenta esse comportamento do comando interno echo como um defeito no Bash.

Talvez todos nós façamos melhor se passarmos a usar somente o comando printf para imprimir coisas no Bash, especialmente se for uma variável recebida de fonte externa, sobre a qual não se tem muito controle.
... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)

-----------------------------------------------------------------------------------------------------------------
Boa tarde Paulo.
Obrigado pela melhor Resposta.
Não vejo como um ERRO.
O bash interpreta como uma opção.
O mesmo ocorre com o "-e" e "-E"
for x in {a..z};do echo -n "[${x}] -${x} => ";echo -e "-${x}";done
[a] -a => -a
-b => -b
[c] -c => -c
[d] -d => -d
[b][e] -e =>

[f] -f => -f
[g] -g => -g
[h] -h => -h
[i] -i => -i
[j] -j => -j
[k] -k => -k
[l] -l => -l
[m] -m => -m
[n] -n => [o] -o => -o
[p] -p => -p
[q] -q => -q
[r] -r => -r
[s] -s => -s
[t] -t => -t
[u] -u => -u
[v] -v => -v
[w] -w => -w
[x] -x => -x
[y] -y => -y
[z] -z => -z


______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts