Substring

1. Substring

Diogo
diogo_flash

(usa Ubuntu)

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?


  


2. Re: Substring

Mauriciodez
Mauriciodez

(usa Debian)

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

Marcelo Oliver
msoliver

(usa Debian)

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

Diogo
diogo_flash

(usa Ubuntu)

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

Marcelo Oliver
msoliver

(usa Debian)

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.


______________________________________________________________________







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts