gpt4 book ai didi

bash - [ : -le: unary operator expected

转载 作者:行者123 更新时间:2023-11-29 09:12:49 26 4
gpt4 key购买 nike

我正在编写一个简单的代码,输出目录中以 00 开头的子目录的数量。这是我的代码:

#!/bin/bash

maxout=2

function getnumber {
number=`ls | grep 00 | wc -l`
return $number
}

qs=`getnumber`
echo $qs
if [ $qs -le $maxout ]
then
echo 'Youpiiii !!!'
else
echo 'Sleeping for 60 sec'
fi

但是我得到以下错误[: -le: 应为一元运算符

当我trace 我的代码时,该函数正在运行。我有

++ return 5

但是

+ qs=

我做错了什么?

最佳答案

`...` 表示法捕获... 打印 的内容,而不是返回 的内容。 (return 主要用于指示成功与失败。)

所以,改变这个:

number=`ls | grep 00 | wc -l`
return $number

为此:

number=`ls | grep 00 | wc -l`
echo $number

或者只是:

ls | grep 00 | wc -l

关于bash - [ : -le: unary operator expected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40617116/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com