#!/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
作为错误,问题是什么?
答案1
改用这个:
#!/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
同名包或其在线版本。