再举两个经典的shell编程实例
时间: 2023-09-01 14:06:23 浏览: 82
好的,以下是另外两个经典的Shell编程实例及其分析:
4. 多进程并发处理
这个实例可以通过Shell脚本来实现,具体代码如下:
```
#!/bin/bash
# 多进程并发处理
for i in $(seq 1 10); do
{
echo "Task $i started."
sleep 5
echo "Task $i finished."
} &
done
wait
echo "All tasks finished."
```
在这个脚本中,使用for循环和&符号启动10个子进程,每个子进程执行一个任务。在任务中,先输出任务开始信息,然后使用sleep命令模拟任务执行,最后输出任务结束信息。在每个子进程后面加上&符号,可以让它们在后台并发执行。在所有子进程执行完成后,使用wait命令等待它们全部结束,然后输出所有任务完成信息。
5. 实现简单的计算器
这个实例可以通过Shell脚本来实现,具体代码如下:
```
#!/bin/bash
# 实现简单的计算器
if [ $# -ne 3 ]; then
echo "Usage: $0 NUM1 OPERATOR NUM2"
exit 1
fi
num1=$1
num2=$3
operator=$2
case $operator in
+)
result=$(expr $num1 + $num2)
;;
-)
result=$(expr $num1 - $num2)
;;
\*)
result=$(expr $num1 \* $num2)
;;
/)
result=$(echo "scale=2; $num1 / $num2" | bc)
;;
%)
result=$(expr $num1 % $num2)
;;
*)
echo "Unknown operator: $operator"
exit 1
;;
esac
echo "$num1 $operator $num2 = $result"
```
在这个脚本中,首先判断命令行参数是否为3个,如果不是则输出帮助信息,退出程序。然后分别获取两个数字和运算符。使用case语句对运算符进行判断,如果是加、减、乘、取模操作,则使用expr命令进行计算;如果是除法操作,则使用bc命令进行计算。最后输出运算结果。
阅读全文