相关疑难解决方法(0)

检查Bash shell脚本中是否存在输入参数

我需要检查输入参数是否存在.我有以下脚本

if [ "$1" -gt "-1" ]
  then echo hi
fi
Run Code Online (Sandbox Code Playgroud)

我明白了

[: : integer expression expected
Run Code Online (Sandbox Code Playgroud)

如何首先检查输入参数1以查看它是否存在?

bash shell

1223
推荐指数
9
解决办法
113万
查看次数

验证Bash脚本的参数

我想出了一个基本的,以帮助自动删除多个文件夹,因为它们变得不必要.

#!/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)该文件夹是否存在; 在继续脚本之前.

validation bash shell

91
推荐指数
9
解决办法
16万
查看次数

标签 统计

bash ×2

shell ×2

validation ×1