#!/bin/bash
echo "hello world"
$a='~'
$b='$a/nlu'
echo $b
Я добрался
./test.sh: line 3: =~: command not found
./test.sh: line 4: =$a/nlu: No such file or directory
как ошибки, какова проблема?
Используйте это вместо этого:
#!/bin/bash
echo "hello world"
a='~'
b="$a/nlu"
echo $b
Не использовать $
для присвоений.
b='$a/nlu'
- Выражения как $a
не расширяйтесь в одинарных кавычках, используйте двойные кавычки для этого.
Как указано @steeldirver ./test.sh: line 4: =$a/nlu: No such file or directory
результат $b
расширение ни до чего, поскольку присвоение не было правильно сделано, и затем bash
попытки выполниться =$a/nlu
как команда. Точно то же для ./test.sh: line 3: =~: command not found
применяется.
Для будущего ошибочного использования shellcheck
от одноименного пакета или его интерактивной версии.