我正在研究shell脚本。我开始学习如何处理更复杂的if语句。下面的代码有什么问题?我在这里在stackoverflow中阅读了其他类似的问题,但是我无法解决我的问题。现在我正在验证第一个,第二个或第三个参数是否为空。将来我会假装基于正则表达式或类似的东西进行验证。
谢谢!
代码(第9行):
const zip = new JSZip();
zip.folder('FolderA/FolderB/FolderC').file('FILE.TXT', new File([contentString], 'TEMP.TXT', { type: 'text/plain' }));
zip.generateAsync({ type: 'blob' })
.then(function (content) {
saveAs(content, 'ZipFile.ZIP');
});
第9行:[::预期为整数表达式
第9行:[::整数 期望的表达式
第9行:[::期望的整数表达式
答案 0 :(得分:2)
-eq
对两个数字进行算术比较。使用=
进行字符串比较。或者更好的方法是使用[[
和==
。
[[ $1 == "" ]]
[ "$1" = "" ]
您还可以使用-z
和-n
直接测试值是空还是非空。
[[ -n $value ]] # [[ $value != "" ]]
[[ -z $value ]] # [[ $value == "" ]]
答案 1 :(得分:-1)
对于更现代/更复杂的运算符,请使用[[
和]]
。这是一种bashism,所以要当心。