#!/bin/bash if [[ $1 =~ ^[0-9]+$ ]]; then echo "digital" elif [[ $1 =~ ^[a-z]+$ ]]; then echo "lower char" elif [[ $1 =~ ^[A-Z]+$ ]]; then echo "upper char" elif [[ $1 == "Good" ]]; then echo "OK" else cd /tmp echo "other" fi
时间: 2023-11-14 17:05:31 浏览: 154
这是一个 Bash 脚本,它接受一个参数并根据参数的类型输出不同的结果,具体如下:
- 如果参数只包含数字,则输出 "digital"。
- 如果参数只包含小写字母,则输出 "lower char"。
- 如果参数只包含大写字母,则输出 "upper char"。
- 如果参数为 "Good",则输出 "OK"。
- 如果参数不属于以上任何一种情况,则切换到 /tmp 目录并输出 "other"。
该脚本的作用是根据输入参数的类型,输出对应的字符串。可以通过在终端中执行该脚本并传递不同的参数来测试。例如,执行以下命令:
```
bash script.sh 123
```
将会输出 "digital"。
相关问题
#!/bin/bash score=$1 if [ $score -lt '0' ] ;then echo "Err:invalid gradescore!" elif [ $score -lt "60" ] ;then echo "fail!" elif [ $score -lt "70" ] ;then echo "pass!" elif [ $score -lt "80" ] ;then echo "good!" elif [ $score -le "100" ] ;then echo "excellent!" else echo "error:ivalid grade score!" fi
这是一个 Bash 脚本,接受一个参数,即成绩分数,根据成绩分数的不同输出不同的评价。首先会判断分数是否小于 0,如果是则输出"Err:invalid gradescore!",如果不是,则继续判断分数所在的区间并输出相应的评价。最后,如果分数大于 100,则输出"error:ivalid grade score!"。
需要注意的是,这个脚本的判断条件是基于数值大小的比较,因此必须确保传入的参数是数字类型,否则可能会出现意外的结果。
#! /bin/bash read -p "请输入您的账号:" user read -p "请输入您的密码:" password if [ $user = "112233" && $passwd = 123456 ] ; then echo "登陆成功" elif [ $user = 112233 ] ;then echo "密码不正确" elif [ $passwd = 123456 ] ;then echo "账号错误" else echo "您如如的账户或密码不正确重重新输入" fi
在你提供的脚本中,有几个语法错误和逻辑问题。以下是修复后的脚本:
```bash
#! /bin/bash
read -p "请输入您的账号:" user
read -p "请输入您的密码:" password
if [ $user = "112233" ] && [ $password = "123456" ]; then
echo "登陆成功"
elif [ $user = "112233" ]; then
echo "密码不正确"
elif [ $password = "123456" ]; then
echo "账号错误"
else
echo "您输入的账户或密码不正确,请重新输入"
fi
```
修正后的脚本将会执行以下操作:
- 提示用户输入账号和密码。
- 如果账号和密码都匹配,将输出"登陆成功"。
- 如果账号匹配但密码不匹配,将输出"密码不正确"。
- 如果密码匹配但账号不匹配,将输出"账号错误"。
- 如果账号和密码都不匹配,将输出"您输入的账户或密码不正确,请重新输入"。
记得在执行脚本之前,使用`chmod +x script.sh`命令赋予脚本执行权限。然后可以使用`./script.sh`命令运行脚本。
阅读全文