顺德网站建设公司咨询云南省住房和建设厅网站
web/
2025/10/6 5:12:27/
文章来源:
顺德网站建设公司咨询,云南省住房和建设厅网站,湛江app开发公司,微信小程序里的音乐音频怎么删除【BASH】回顾与知识点梳理 二十 二十. 十六至十九章知识点总结及练习20.1 总结20.2 练习 该系列目录 -- 【BASH】回顾与知识点梳理#xff08;目录#xff09;
二十. 十六至十九章知识点总结及练习
20.1 总结
shell script 是利用 shell 的功能所写的一个『程序 (prog… 【BASH】回顾与知识点梳理 二十 二十. 十六至十九章知识点总结及练习20.1 总结20.2 练习 该系列目录 -- 【BASH】回顾与知识点梳理目录
二十. 十六至十九章知识点总结及练习
20.1 总结
shell script 是利用 shell 的功能所写的一个『程序 (program)』这个程序是使用纯文本文件将一些 shell 的语法与指令(含外部指令)写在里面 搭配正规表示法、管线命令与数据流重导向等功能以达到我们所想要的处理目的shell script 用在系统管理上面是很好的一项工具但是用在处理大量数值运算上 就不够好了因为 Shell scripts 的速度较慢且使用的 CPU 资源较多造成主机资源的分配不良。在 Shell script 的文件中指令的执行是从上而下、从左而右的分析与执行shell script 的执行至少需要有 r 的权限若需要直接指令下达则需要拥有 r 与 x 的权限用sh shell.sh执行脚本脚本至少要有r权限而如果通过绝对路径或相对路径直接执行脚本则脚本至少要有rx权限良好的程序撰写习惯中第一行要宣告 shell (#!/bin/bash) 第二行以后则宣告程序用途、版本、作者等对谈式脚本可用 read 指令达成要建立每次执行脚本都有不同结果的数据可使用 date 指令利用日期达成date --date“20230810” %sscript 的执行若以 source 来执行时代表在父程序的 bash 内执行之意若需要进行判断式可使用 test 或中括号 ( [] ) 来处理在 script 内$0, $1, $2…, $ 是有特殊意义的条件判断式可使用 if...then 来判断若是固定变量内容的情况下可使用 case $var in ... esac 来处理循环主要分为不定循环 (while, until) 以及固定循环 (for) 配合 do, done 来达成所需任务我们可使用 sh -x script.sh 来进行程序的 debug
20.2 练习
请建立一支 script 当你执行该 script 的时候该 script 可以显示 1. 你目前的身份 (用 whoami ) 2. 你目前所在的目录 (用 pwd)
[rootnode-135 bin]# cat ww.sh
#!/bin/bash
# Program:
# report whoami and pwd
# History:
# 2023/08/10 yurq First ReleasePATH$PATH:~/bin
export PATHwhoami
pwd请自行建立一支程序该程序可以用来计算『你还有几天可以过生日』啊
#!/bin/bash
read -p Pleas input your birthday (MMDD, ex 0709): bir
nowdate %m%d
if [ $bir $now ]; thenecho Happy Birthday to you!!!
elif [ $bir -gt $now ]; thenyeardate %Ytotal_d$(($((date --date$year$bir %s-date %s))/60/60/24))echo Your birthday will be $total_d later
elseyear$((date %Y1))total_d$(($((date --date$year$bir %s-date %s))/60/60/24))echo Your birthday will be $total_d later
fi让用户输入一个数字程序可以由 123… 一直累加到用户输入的数字为止。
#!/bin/bash
read -p Please input an integer number: number
i0
s0
while [ $i ! $number ]
doi$(($i1))s$(($s$i))
done
echo the result of 123...$number is $s撰写一支程序他的作用是: 1.) 先查看一下 /root/test/logical 这个名称是否存在2.) 若不存在则建立一个文件使用 touch 来建立建立完成后离开3.) 如果存在的话判断该名称是否为文件若为文件则将之删除后建立一个目录文件名为 logical 之后离开4.) 如果存在的话而且该名称为目录则移除此目录
[rootnode-135 bin]# cat logical.sh
#!/bin/bash
# Program:
# check /root/test/logical
# History:
# 2023/08/10 yurq First ReleasePATH$PATH:~/bin
export PATHlogical/root/test/logicalif [ ! -e $logical ];thenif [ ! -d dirname $logical ];thenmkdir -p dirname $logicalecho mkdir /root/test/fitouch $logical echo touch logicalexit 0
elif [ -f $logical ];thenrm -rf $logicalecho logical is file,remove itmkdir -p $logicalecho logical is dir,make itexit 0
elif [ -d $logical ];thenrm -rf $logicalecho logical is dir,remove itexit 0
elseecho $logical maybe errorls -l $logicalfi我们知道 /etc/passwd 里面以 : 来分隔第一栏为账号名称。请写一只程序可以将 /etc/passwd 的第一栏取出而且每一栏都以一行字符串『The 1 account is “root” 』来显示那个 1 表示行数。
[rootnode-135 bin]# cat echouser.sh
#!/bin/bash
# Program:
# echo user number
# History:
# 2023/08/10 yurq First ReleasePATH$PATH:~/bin
export PATHuserlistcut -d: -f 1 /etc/passwd
num1
for i in ${userlist};doecho The $num account is \$i\num$(($num1))
done该系列目录 -- 【BASH】回顾与知识点梳理目录
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87755.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!