Linux错误:-gt一元运算符外壳脚本
我正在尝试生成自定义命令提示符。例如,如果我输入。文件名1你好2你好 自定义提示应如下所示:[[hello][hi][]$。1号代表第二位,2号代表第三位。 代码还没有完全完成,但当我试图运行它时,我得到一个错误“-gt一元运算符”Linux错误:-gt一元运算符外壳脚本,linux,while-loop,virtual-machine,command-prompt,operator-keyword,Linux,While Loop,Virtual Machine,Command Prompt,Operator Keyword,我正在尝试生成自定义命令提示符。例如,如果我输入。文件名1你好2你好 自定义提示应如下所示:[[hello][hi][]$。1号代表第二位,2号代表第三位。 代码还没有完全完成,但当我试图运行它时,我得到一个错误“-gt一元运算符” #!/bin/bash $first $1 $second $2 PS1="[][][][]$" while [ $first -gt -1 ] || [ $second -gt -1 ] do if [ $first -eq 0 ] the
#!/bin/bash
$first $1 $second $2
PS1="[][][][]$"
while [ $first -gt -1 ] || [ $second -gt -1 ]
do
if [ $first -eq 0 ]
then
PS1="[$1][][][]$"
elif [ $first -eq 1 ]
then
PS1="[][$1][][]$"
elif [ $first -eq 2 ]
then
PS1="[][][$1][]$"
elif [ $first -eq 3 ]
then
PS1="[][][][$1]$"
fi
done
我尝试删除while循环,以查看if语句是否会出现相同的问题,结果确实如此。我做错了什么?您没有为“$first”赋值 因此,while循环基本上是这样做的:
[ -ge -1 ]
这是无效语法,是导致一元运算符错误的原因
你剧本的第二行没有意义
$first $1 $second $2
在上述情况下,参数将尝试评估以下内容:
“你好”
您可能会看到如下错误:
1: command not found
没关系,它解决了错误!谢谢你的帮助!