Use isso:
#!/bin/bash
echo "hello world"
a='~'
b="$a/nlu"
echo $b
-
Não use
$
para atribuições. -
b='$a/nlu'
- Expressões como$a
não se expandem entre aspas simples, use aspas duplas para isso. -
Como apontado por @steeldirver
./test.sh: line 4: =$a/nlu: No such file or directory
é o resultado de$b
expandir para nada, pois a atribuição não foi feita corretamente e, em seguida,bash
tenta executar=$a/nlu
como um comando. Exatamente o mesmo para./test.sh: line 3: =~: command not found
se aplica.
Para erros futuros, use shellcheck
do pacote de mesmo nome ou de sua versão on-line .