Linux error: -gt unary operator shell script
Linux error: -gt unary operator shell script
我正在尝试制作自定义命令提示符。因此,例如,如果我输入 .文件名 1 你好 2 你好
自定义提示应如下所示:[][hello][hi][]$。数字 1 代表第二个位置,数字 2 代表第三个位置。
代码没有完全完成,但是当我尝试 运行 时,我得到一个错误 '-gt 一元运算符'
#!/bin/bash
$first $second
PS1="[][][][]$"
while [ $first -gt -1 ] || [ $second -gt -1 ]
do
if [ $first -eq 0 ]
then
PS1="[][][][]$"
elif [ $first -eq 1 ]
then
PS1="[][][][]$"
elif [ $first -eq 2 ]
then
PS1="[][][][]$"
elif [ $first -eq 3 ]
then
PS1="[][][][]$"
fi
done
我尝试删除 while 循环以查看 if 语句是否会出现同样的问题,确实如此。我在这里做错了什么?
您还没有为“$first”赋值。
所以你的 while 循环基本上是这样做的:
[ -ge -1 ]
这是无效的语法,是导致您的一元运算符错误的原因。
你脚本的第二行没有意义。
$first $second
在上述参数的情况下,将尝试评估以下内容:
“ 1 你好”
您可能会看到如下错误:
1: command not found
我正在尝试制作自定义命令提示符。因此,例如,如果我输入 .文件名 1 你好 2 你好 自定义提示应如下所示:[][hello][hi][]$。数字 1 代表第二个位置,数字 2 代表第三个位置。 代码没有完全完成,但是当我尝试 运行 时,我得到一个错误 '-gt 一元运算符'
#!/bin/bash
$first $second
PS1="[][][][]$"
while [ $first -gt -1 ] || [ $second -gt -1 ]
do
if [ $first -eq 0 ]
then
PS1="[][][][]$"
elif [ $first -eq 1 ]
then
PS1="[][][][]$"
elif [ $first -eq 2 ]
then
PS1="[][][][]$"
elif [ $first -eq 3 ]
then
PS1="[][][][]$"
fi
done
我尝试删除 while 循环以查看 if 语句是否会出现同样的问题,确实如此。我在这里做错了什么?
您还没有为“$first”赋值。
所以你的 while 循环基本上是这样做的:
[ -ge -1 ]
这是无效的语法,是导致您的一元运算符错误的原因。
你脚本的第二行没有意义。
$first $second
在上述参数的情况下,将尝试评估以下内容: “ 1 你好”
您可能会看到如下错误:
1: command not found