Answers:
您不能直接更改这些变量。你可以说:
x=$1
echo $x
那你可以$x改用
using $1=bar将立即用第一个参数替换$1,您实际上是在说"foo=bar",它被解释为命令“ foo”,而不是变量“ foo”;
$1在此bash和其他shell中,请勿为此使用use ,这$1是您传递给脚本的第一个参数:
#!/bin/bash
echo $1
如果以as身份运行上述命令foo.sh hello,则将打印hello该命令,因为这是第一个参数。同样,您将变量称为,var并将变量的内容称为$var。因此,要获得您期望的行为,只需为变量使用另一个名称,而不使用$:
#!/bin/bash
var="bar"
echo $var
$1用于要更改的值。无论如何,只要您修复语法错误,它就应该起作用,您的主要问题是您正在使用$。
$foo="bar",这是行不通的,而您foo="bar"无需设置$。