linux shell习题
课件地址:https://wenku.baidu.com/view/bac2ff10f18583d0496459f3.html
1.测试环境变量:HOME,PWD,IFS等
2.测试位置变量:$$,$#,$0,$1,$2,$3,$@,$*,再测试当IFS=‘’和取消IFS时$@和$*的输出
3.使用if和case对“是否选修了Linux课程”的问题做出回答
4.列出当前目录下包含sh文件的详细信息
5.列出1~50之间的奇数
6.计算1+2+…+n
7.统计/etc目录下的文件数和目录数
8.设计一函数使能只列指定目录下的子目录
9.设计一函数能实现向文件追加记录的功能(记录由若干变量构成)
10.监控某个用户是否登陆
11将指定目录下的.txt文件成批量地改名为 .doc
1~2
#!/bin/bash
endl() {
echo -e "=======end===============\n"
} echo $HOME; endl # => /c/Users/mdzz
echo $PWD; endl # => /c/Users/mdzz/Desktop/2018linux
echo $IFS; endl
echo $$,$#,$,$,$,$,$@,$*; endl # => ,,exercise.sh,,,,,
2
#!/bin/bash
endl() {
echo -e "=======end===============\n"
} list="we:are:champion"
ifs_old=$IFS
IFS=$':'
for val in $list
do
echo "n=$val"
done
IFS=$ifs_old; endl ifs_old=$IFS
IFS=''
echo $@,$*
IFS=$ifs_old
echo $@,$*; endl
3
#!/bin/sh
echo "是否选修了Linux课程"
read yesorno
if [ "$yesorno" = "yes" ]
then
echo "Good."
elif [ "$yesorno" = "no" ]; then
echo "what a pity!"
else
echo "Sorry, $yesorno not recognized. Enter yes or no"
exit
fi
exit
4~7
#!/bin/bash
#####脚本一######
#输入绝对路径,查找包含.sh结尾的文件及目录输出到file.tmp里
# read -p "请输入要查询的目录:" DIR
# find ${DIR} -name "*.sh" > file.tmp
#!/bin/bash
#####脚本二#####
#输入要查询的目录,如果文件不存在创建文件,如果存在退出
# read -p "请输入要查询的目录:" DIR
# read -p "请输入要创建的文件:" FILENAME
# if [ -d $DIR ];then
# if [ ! -f $FILENAME ];then
# touch $FILENAME
# echo "${FILENAME} 创建成功"
# else
# echo "${FILENAME} 文件已经存在"
# exit
# fi
# else
# echo "指定的目录不存在!"
# fi DIR=`ls -l`
# echo $DIR
ls -l *.sh echo {....} # 罗列1 ~50的奇数 # 求 +++..+n
read -p "请输入数字n;" N
sum=
for ((i=; i<=$N; i++));do
sum=$(($i+$sum))
done
echo $sum #统计当前目录文件数和目录数
FILE_NUM=`find ./ -type f |wc -l` #统计文件数
DIR_NUM=`find ./ -type d |wc -l` #统计目录数
echo $FILE_NUM
echo $DIR_NUM
11
#!/bin/bash
for file in `ls | grep .txt`
do
NEW_FILE=`echo $file`
# ${string/substring/replacement} # substring可以是正则表达式
NEW_FILE=${NEW_FILE/.txt/.doc}
mv $file $NEW_FILE
done
linux shell习题的更多相关文章
- linux shell习题训练
shell习题训练 求2个数之和 计算1-100的和 将一目录下所有的文件的扩展名改为bak 编译当前目录下的所有.c文件: 打印root可以使用可执行文件数,处理结果: root's bins: 2 ...
- shell习题训练
shell习题训练 求2个数之和 计算1-100的和 将一目录下所有的文件的扩展名改为bak 编译当前目录下的所有.c文件: 打印root可以使用可执行文件数,处理结果: root's bins: 2 ...
- linux shell 中的sleep命令
开始还以为是这样的语法: sleep(1), 后面发现是: linux shell 中的sleep命令 分类: LINUX 在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小 ...
- Linux shell脚本编程(三)
Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...
- Linux shell脚本编程(二)
Linux shell脚本编程(二) 练习:求100以内所有偶数之和; 使用至少三种方法实现; 示例1: #!/bin/bash # declare -i sum=0 #声明一个变量求和,初始值为0 ...
- Linux shell脚本编程(一)
Linux shell脚本编程: 守护进程,服务进程:启动?开机时自动启动: 交互式进程:shell应用程序 广义:GUI,CLI GUI: CLI: 词法分析:命令,选项,参数 内建命令: 外部命令 ...
- Linux Shell 流程控制语句
* 本文主要介绍一些Linux Shell 常用的流程控制语句* 1. if 条件语句:if-then/if-elif-fi/if- else-fi if [条件判断逻辑1];then command ...
- Linux Shell 截取字符串
Linux Shell 截取字符串 shell中截取字符串的方法很多 ${var#*/} ${var##*/} ${var%/*} ${var%%/*} ${var:start:len} ${var: ...
- Linux Shell 重定向与管道【转帖】
by 程默 在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以 ...
随机推荐
- npm install webpack -g
npm install webpack -g 全局安装webpack
- [django]详情页列表页
详情页列表页 列表页展示titile--这个模型的部分字段 详情页展示这个模型的所有字段 我想看下related_name这个从主表取子表数据 取数据--官网投票例子 https://docs.dja ...
- 查看Nginx、PHP、Apache和MySQL的编译参数
1.查看Nginx编译参数 [root@portal finance]# your_nginx_dir/sbin/nginx -V nginx version: nginx/ built by (Re ...
- vim自动格式化
,gg 跳转到第一行 ,shift+v 转到可视模式 ,shift+g 全选 ,按下神奇的 = 你会惊奇的发现代码自动缩进了,呵呵,当然也可能是悲剧了.
- 6.短信验证码60s倒计时
短信验证码60s倒计时 html: <input type="button" class="btn btn-primary" value="免 ...
- webapp定位
<!doctype html> <html> <head> <meta charset="utf-8"> <meta http ...
- ProxySQL(读写分离)部署
proxySQL是MySQL的中间件产品,是灵活强大的代理层,实现读写分离,支持Query路由功能,支持动态指定某个SQL进行缓存,支持动态加载配置,故障切换和一些SQL 过滤功能 环境: 192.1 ...
- CSU 1859 Gone Fishing(贪心)
Gone Fishing [题目链接]Gone Fishing [题目类型]贪心 &题解: 这题要先想到枚举走过的湖,之后才可以贪心,我就没想到这,就不知道怎么贪心 = = 之后在枚举每个湖的 ...
- DW表格的简单应用 之(个人简历模板)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 不用ajax实现异步请求:XmlHttpRequest 小记
视图页面代码 控制器代码