事实证明脑子好东西,不用就自己抽抽了。远程linux后,用本地的vscode打开了个shell写几行代码测试,结果意外报错,一直以为是windows和linux文件问题(虽说用命令转换了但还是怀疑是格式问题),无语,事实证明还是错误变陌生人了,根本没往他想。
错误
.sh: 第 6 行:[: 参数太多
代码
#!/bin/bash
fileName="file.txt"
fileLines=`wc -l $fileName`
if [ $fileLines -lt 10 ]; then
echo "file.txt has $fileLines lines"
exit 1
else
head -10 $fileName | tail -1
fi
错误原因变量fileLines不是整数,为啥呢,wc这么写返回的是行数和文件名,啊啊啊,就是没往这想啊,真是相当。。。。。。