linux2、设计一个shell程序,判断命令行第一个参数的值;如果$1是一个数字,显示digital;小写字母,显示lower char;大写字母,显示upper char;如果$1等于Good,显示OK;否则,进入/tmp目录并显示other。
时间: 2023-10-10 08:05:50 浏览: 50
可以使用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"。注意,最好在数字和字母判断前加上^和$,以确保匹配整个字符串。
相关问题
Linux中编写 bshell编程,设计一个shell程序,判断命令行第一个参数的值;如果$1是一个数字,显示digital;小写字母,显示lower char;大写字母,显示upper char;如果$1等于Good,显示OK;否则,进入/tmp目录并显示other。
可以使用以下的bshell代码实现:
```
#!/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
```
这个程序首先使用正则表达式判断第一个参数是否为数字、小写字母、大写字母或者"Good"。如果是数字,则显示"digital";如果是小写字母,则显示"lower char";如果是大写字母,则显示"upper char";如果是"Good",则显示"OK";否则,进入/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"。
阅读全文