切换用户时-bash: [: mBH !=: unary operator expected
时间: 2024-06-06 18:06:31 浏览: 25
这个错误通常是由于在if语句中使用了不正确的比较运算符引起的。在这种情况下,bash解释器期望使用一元运算符,但实际上使用了二元运算符或缺少比较运算符。要解决这个问题,您需要检查if语句中使用的运算符,并确保它们正确。例如,如果您使用等于运算符,则应该是==而不是=。另外,您还应该检查if语句中使用的变量是否存在或已正确设置。
相关问题
iu@liu-desktop:~/桌面$ bash 2.sh 2.sh: line 7: [: ==: unary operator expected 2.sh: line 9: [: ==: unary operator expected
这个错误消息表明,在你的脚本中 if 语句中的条件表达式没有正确地运行。具体来说,在这个脚本中,第7行和第9行的条件表达式都需要改正。
请尝试将第7行和第9行的条件表达式改为:
```
if [ "$1" = "r" ]; then
...
fi
if [ "$2" = "w" ]; then
...
fi
```
需要注意的是,条件表达式中等号两侧需要有空格,而且变量名需要用双引号括起来,否则可能会因为空格或特殊字符导致语法错误。
-bash: m-a: command not found
根据你提供的引用内容,你遇到了在MAC终端中出现"-bash: m-a: command not found"的问题。这个问题可能是由于你的终端环境变量配置不正确导致的。下面是两种解决办法:
1. 临时修改环境变量:
在终端中输入以下命令,将环境变量暂时修改为默认值:
```shell
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin
```
然后再次尝试运行命令"-bash: m-a",看是否能够正常执行。
2. 修改.bash_profile文件:
在终端中输入以下命令,创建一个新的.bash_profile文件:
```shell
touch .bash_profile
```
然后使用vim或其他文本编辑器打开.bash_profile文件,并添加以下内容:
```shell
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin
```
保存并关闭文件,然后重新启动终端。再次尝试运行命令"-bash: m-a",看是否能够正常执行。