我正在编写一个简单的代码,用于输出以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: unary operator expected
当我trace
我的代码时,该功能正在运行。我有
++ return 5
但是
+ qs=
我做错了什么?
答案 0 :(得分:4)
`...`
表示法会捕获...
打印的内容,而不是返回的内容。 (return
主要用于表示成功与失败。)
所以,改变一下:
number=`ls | grep 00 | wc -l`
return $number
到此:
number=`ls | grep 00 | wc -l`
echo $number
或只是:
ls | grep 00 | wc -l