如何检查传递给shell脚本的参数是一个以http或https开头并带有.jpg的网址?
我要检查以下代码,但这只检查参数是否已经过了。
#!/bin/bash
if [ -z "$S1" ]
then
echo "Missing JPG URL"
fi
答案 0 :(得分:3)
使用模式匹配运算符:
if [[ $1 != http?(s)://*.jpg ]]; then
echo "Invalid URL"
fi
(您可能需要在较早版本的shopt -s extglob
中首先使用bash
启用扩展模式。)
或者,使用正则表达式:
if ! [[ $1 =~ https?://.*\.jpg ]]; then