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"
无需设置$
。