当前位置: 技术问答>linux和unix
linux的shell编程
来源: 互联网 发布时间:2016-10-12
本文导语: 1. 编写一个脚本,实现:对输入的正整数,输出小于该数的所有素数 2. 编写一个脚本,实现:对输入的路径,统计该路径下一级子目录、普通文件、符号链接文件、其他文件的个数 3. 编写一个脚本,对输入的参...
1. 编写一个脚本,实现:对输入的正整数,输出小于该数的所有素数
2. 编写一个脚本,实现:对输入的路径,统计该路径下一级子目录、普通文件、符号链接文件、其他文件的个数
3. 编写一个脚本,对输入的参数进行分析,如果参数中含有
(1) 目录名(路径),则显示该目录(路径)下的文件的详细信息
(2) 普通文件名, 则显示该文件内容
(3) 字符串 telnet, sshd, 则启动对应服务
(4) 如果不是上述3种情况,输出提示信息”wrong input!”
4. 通过搜索字符串函数,实现对系统变量PATH的分解,将其中每个路径提取出来,置入一个数组中,然后逐个输出。
怎么做
2. 编写一个脚本,实现:对输入的路径,统计该路径下一级子目录、普通文件、符号链接文件、其他文件的个数
3. 编写一个脚本,对输入的参数进行分析,如果参数中含有
(1) 目录名(路径),则显示该目录(路径)下的文件的详细信息
(2) 普通文件名, 则显示该文件内容
(3) 字符串 telnet, sshd, 则启动对应服务
(4) 如果不是上述3种情况,输出提示信息”wrong input!”
4. 通过搜索字符串函数,实现对系统变量PATH的分解,将其中每个路径提取出来,置入一个数组中,然后逐个输出。
怎么做
|
#question 1
#! /bin/bash
read -p "Input a number:" num
while [ $num -gt 0 ]; do
i=2
while [ $i -le $num ]; do
if [ $(($num%$i)) -eq 0 ]; then
break
fi
i=$(($i+1))
if [ $i -eq $(($num -1)) ]; then
echo $num
fi
done
num=$(($num-1))
done
#question 2
可用grep 匹配出满足条件的行再用 wc -l 进行统计
#question 3
if [ -d $value ]; then
ls...
elif [ -f $value ]; then
cat /more /less /expand $value...
else
echo "warning !"
fi
#question 4
echo $PATH | awk -F ":" '{print}'
用for 和数组实现!
####以上只是思路! 楼主可以自己试试~
|
第一题求素数 如果一直除到比目标数小的那个数的话 数字稍微一大 慢的像蜗牛 shell计算本来就慢
我觉得这样会好一点
我觉得这样会好一点
#!/bin/sh
for((i=2;i