Pular para o conteúdo
  • Denunciar
  • Indicar

1. Substring

Enviado em 03/04/2021 - 13:40h

Boa tarde.
Estou tentando manipular string pelo shell script, porem dar o seguinte erro:
Bad substitution
Estou tentando fazer

var="Alo mundo. Testando string"
bar=${var:5}
echo $bar
Porém, quando faço esses comandos no terminal, consigo sem problemas. Alguém sabe como posso resolver?

Responder tópico

2. Re: Substring

Enviado em 03/04/2021 - 15:24h

qual o erro ???

mauricio@phantom ~ $ var="Alo mundo. Testando string";bar=${var:5};echo $bar
undo. Testando string
mauricio@phantom ~ $
------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------

3. Re: Substring

Enviado em 03/04/2021 - 18:49h

diogo_flash escreveu:

Boa tarde.
Estou tentando manipular string pelo shell script, porem dar o seguinte erro:
Bad substitution
Estou tentando fazer

var="Alo mundo. Testando string"
bar=${var:5}
echo $bar
Porém, quando faço esses comandos no terminal, consigo sem problemas.
Alguém sabe como posso resolver?

Provavelmente está "chamando/Executando" o shell script com o "sh", e não com o "bash".
o shebang do seu script, deve referir-se ao bash,
Exemplo:
#!/usr/bin/env bash
ou
#!/bin/bash
------------------------------------------------------
No terminal, é usado o bash e funciona,
se usar o sh no terminal, vai ver esse erro.
------------------------------------------------------
sh
$ var="123456789 ABCDEFGHIJ"
$ bar=${var:5}
sh: 3: Bad substitution
______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/";,
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.


______________________________________________________________________

4. Re: Substring

Enviado em 05/04/2021 - 15:32h


msoliver escreveu:

diogo_flash escreveu:

Boa tarde.
Estou tentando manipular string pelo shell script, porem dar o seguinte erro:
Bad substitution
Estou tentando fazer

var="Alo mundo. Testando string"
bar=${var:5}
echo $bar
Porém, quando faço esses comandos no terminal, consigo sem problemas.
Alguém sabe como posso resolver?

Provavelmente está "chamando/Executando" o shell script com o "sh", e não com o "bash".
o shebang do seu script, deve referir-se ao bash,
Exemplo:
#!/usr/bin/env bash
ou
#!/bin/bash
------------------------------------------------------
No terminal, é usado o bash e funciona,
se usar o sh no terminal, vai ver esse erro.
------------------------------------------------------
sh
$ var="123456789 ABCDEFGHIJ"
$ bar=${var:5}
sh: 3: Bad substitution
______________________________________________________________________


Isso, estou tentando executar usando sh script.sh. Já estou usando
#!/bin/bash 
Porém, continua dando o mesmo erro de "bad substitution"

5. Re: Substring

Enviado em 05/04/2021 - 18:14h

diogo_flash escreveu:


msoliver escreveu:

diogo_flash escreveu:

Boa tarde.
Estou tentando manipular string pelo shell script, porem dar o seguinte erro:
Bad substitution
Estou tentando fazer

var="Alo mundo. Testando string"
bar=${var:5}
echo $bar
Porém, quando faço esses comandos no terminal, consigo sem problemas.
Alguém sabe como posso resolver?

Provavelmente está "chamando/Executando" o shell script com o "sh", e não com o "bash".
o shebang do seu script, deve referir-se ao bash,
Exemplo:
#!/usr/bin/env bash
ou
#!/bin/bash
------------------------------------------------------
No terminal, é usado o bash e funciona,
se usar o sh no terminal, vai ver esse erro.
------------------------------------------------------
sh
$ var="123456789 ABCDEFGHIJ"
$ bar=${var:5}
sh: 3: Bad substitution
______________________________________________________________________


Isso, estou tentando executar usando sh script.sh.
Já estou usando
#!/bin/bash 
Porém, continua dando o mesmo erro de "bad substitution"

Não é para executar o script com o "SH/DASH".
Não adianta definir bash no "shebang", e executar com o "dash" .....
Faça:
./script.sh
Ou
script.sh # Isso, se a pasta onde está o script estiver na var "$PATH"



______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/";,
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.


______________________________________________________________________

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder