2、设计一个shell程序,判断命令行第一个参数的值;如果$1是一个数字,显示digital;小写字母,显示lower char;大写字母,显示upper char;如果$1等于Good,显示OK;否则,进入/tmp目录并显示other。
时间: 2024-01-02 08:03:26 浏览: 45
可以使用以下脚本实现该功能:
```bash
#!/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
```
脚本的逻辑比较简单,首先使用正则表达式判断$1是否为数字、小写字母或大写字母,如果是,则分别输出相应的提示信息;如果$1等于"Good",则输出"OK";否则,进入/tmp目录并输出"other"。
相关问题
linux2、设计一个shell程序,判断命令行第一个参数的值;如果$1是一个数字,显示digital;小写字母,显示lower char;大写字母,显示upper char;如果$1等于Good,显示OK;否则,进入/tmp目录并显示other。
可以使用Shell中的正则表达式来判断$1的值类型,然后使用条件语句if-elif-else实现对应的操作。
以下是一个可能的实现:
```bash
#!/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
```
这个脚本首先使用正则表达式判断$1的值类型,如果是数字、小写字母、大写字母或"Good",则分别输出对应的提示信息。否则,进入/tmp目录并显示"other"。注意,最好在数字和字母判断前加上^和$,以确保匹配整个字符串。
设计一个shell程序,判断命令行第一个参数的值;如果$1是一个数字,显示digital;小写字母,显示lower char;大写字母,显示upper char;如果$1等于Good,显示OK;否则,进入/tmp目录并显示other。
可以使用以下Shell脚本实现:
```bash
#!/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
```
该脚本首先使用正则表达式判断$1是否为数字、小写字母、大写字母或Good,如果是则输出相应的信息,否则进入/tmp目录并输出other。注意,在正则表达式中,^表示匹配字符串的开头,$表示匹配字符串的结尾,+表示匹配一个或多个前面的字符。