设计一个shell程序,判断命令行第一个参数的值;如果$1是一个数字,显示digital;小写字母,显示lower char;大写字母,显示upper char;如果$1等于Good,显示OK;否则,进入/tmp目录并显示other。
时间: 2023-12-14 07:06:03 浏览: 70
可以使用以下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。注意,在正则表达式中,^表示匹配字符串的开头,$表示匹配字符串的结尾,+表示匹配一个或多个前面的字符。
相关问题
2、设计一个shell程序,判断命令行第一个参数的值;如果$1是一个数字,显示digital;小写字母,显示lower char;大写字母,显示upper char;如果$1等于Good,显示OK;否则,进入/tmp目录并显示other。
以下是一个简单的 shell 程序,可以满足你的需求:
```
#!/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 是一个数字,它会显示 "digital";如果是小写字母,它会显示 "lower char";如果是大写字母,它会显示 "upper char";如果是 "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"。注意,最好在数字和字母判断前加上^和$,以确保匹配整个字符串。
阅读全文