课件地址: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习题的更多相关文章

  1. linux shell习题训练

    shell习题训练 求2个数之和 计算1-100的和 将一目录下所有的文件的扩展名改为bak 编译当前目录下的所有.c文件: 打印root可以使用可执行文件数,处理结果: root's bins: 2 ...

  2. shell习题训练

    shell习题训练 求2个数之和 计算1-100的和 将一目录下所有的文件的扩展名改为bak 编译当前目录下的所有.c文件: 打印root可以使用可执行文件数,处理结果: root's bins: 2 ...

  3. linux shell 中的sleep命令

    开始还以为是这样的语法: sleep(1), 后面发现是: linux shell 中的sleep命令 分类: LINUX 在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小 ...

  4. Linux shell脚本编程(三)

    Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...

  5. Linux shell脚本编程(二)

    Linux shell脚本编程(二) 练习:求100以内所有偶数之和; 使用至少三种方法实现; 示例1: #!/bin/bash # declare -i sum=0 #声明一个变量求和,初始值为0 ...

  6. Linux shell脚本编程(一)

    Linux shell脚本编程: 守护进程,服务进程:启动?开机时自动启动: 交互式进程:shell应用程序 广义:GUI,CLI GUI: CLI: 词法分析:命令,选项,参数 内建命令: 外部命令 ...

  7. Linux Shell 流程控制语句

    * 本文主要介绍一些Linux Shell 常用的流程控制语句* 1. if 条件语句:if-then/if-elif-fi/if- else-fi if [条件判断逻辑1];then command ...

  8. Linux Shell 截取字符串

    Linux Shell 截取字符串 shell中截取字符串的方法很多 ${var#*/} ${var##*/} ${var%/*} ${var%%/*} ${var:start:len} ${var: ...

  9. Linux Shell 重定向与管道【转帖】

    by 程默 在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以 ...

随机推荐

  1. java中Long的比较

    Long的比较要用equals而不要用== 当Long为常量且常量值小于一个字节(<=127)时,两个Long指向同一个常量内容: Long userId=127L; Long authorId ...

  2. 【Android】adb connect 手机的两种方式

    adb支持两种连接Android系统的方式,USB方式及网络方式.一般android手机及android平板默认会设置为USB方式(直接插数据线的方式). 下边介绍两种方式的切换方式. 1. 背景知识 ...

  3. Py中axis理解【转载】

    转载:https://blog.csdn.net/yaoqi_isee/article/details/77714570 1.理解 numpy当中axis的值表示的是这个多维数组维度的下标,比如有一个 ...

  4. asp.net几个重要对象

    DataSet是用来做连接sql的一种方法,意思是把数据库的副本存在应用程序里,应用程序开始运行时,把数据库相关数据保存到DataSet.DataTable表示内存中数据的一个表.常和DefaultV ...

  5. 【LeetCode每天一题】Two Sum(两数之和)

    Given an array of integers, return indices of the two numbers such that they add up to a specific ta ...

  6. sjw-风评评测-定位页面元素

    一.手工标准化操作流程: 1.登录系统 2.登录后的页面点击:账户设置 3.点击“重新评测”,进入到风险评测页面 4.答完8道题 5.勾选条件checkbox 6.点击“提交” 提交后的页面 二.自动 ...

  7. Stephen Wolfram自述

    Stephen Wolfram自述   作者: 阮一峰 大家听说过Stephen Wolfram(斯蒂芬·沃尔夫勒姆)吗? 了解他的经历和成就吗? 我对他了解不多,但是读了下面这篇2005年的演讲,联 ...

  8. MSSqlServer 主从同步复制原理(发布/订阅)

    基本模型 1.发布类型: 快照发布:用于为事务复制和合并复制提供初始数据集:在适合数据完全刷新时也可以使用快照复制.利用这三种复制,SQL Server 提供功能强大且灵活的系统,以便使企业范围内的数 ...

  9. EL语言表达式 (一)【语法和特点】

    一.基本语法规则: EL表达式语言以“${”开头,以"}"结尾的程序段,具体格式如下: ${expression} 其中expression:表示要指定输出的内容和字符串以及EL运 ...

  10. fiddler2抓包数据工具使用教程

    一款免费且功能强大的数据包抓取软件.它通过代理的方式获取程序http通讯的数据,可以用其检测网页和服务器的交互情况,能够记录所有客户端和服务器间的http请求,支持监视.设置断点.甚至修改输入输出数据 ...