我需要检查输入参数是否存在.我有以下脚本
if [ "$1" -gt "-1" ]
then echo hi
fi
Run Code Online (Sandbox Code Playgroud)
我明白了
[: : integer expression expected
Run Code Online (Sandbox Code Playgroud)
如何首先检查输入参数1以查看它是否存在?
我想出了一个基本的,以帮助自动删除多个文件夹,因为它们变得不必要.
#!/bin/bash
rm -rf ~/myfolder1/$1/anotherfolder
rm -rf ~/myfolder2/$1/yetanotherfolder
rm -rf ~/myfolder3/$1/thisisafolder
Run Code Online (Sandbox Code Playgroud)
这是这样的:
./myscript.sh <{id-number}>
Run Code Online (Sandbox Code Playgroud)
问题是,如果你忘记输入id-number (就像我之前那样),那么它可能会删除你真正不想删除的很多东西.
有没有办法可以在命令行参数中添加任何形式的验证?在我的情况下,最好检查a)是否有一个参数,b)它的数字,以及c)该文件夹是否存在; 在继续脚本之前.