Bash 变量扩展和赋值

Bash 变量扩展和赋值
#!/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的结果,然后尝试作为命令执行。 完全相同。$bbash=$a/nlu./test.sh: line 3: =~: command not found

对于将来的错误,请使用shellcheck同名包或其在线版本

相关内容