脚本制作程序编写[不确定期升级]简易的shell脚本制作训练案例Jager · 6月18日 · 2017年shell训练脚本制作" />

全国咨询热线:18720358503

[不确定期升级]简易的shell脚本制作训练案例

类别:行业新闻 发布时间:2021-04-10 浏览人次:

脚本制作程序编写 企业网站建设 資源共享 帮我留言板留言 有关

' next-text='' view="0" >脚本制作程序编写[不确定期升级]简易的shell脚本制作训练案例Jager · 6月18日 · 2017年shell训练脚本制作 19801次已读

此篇将梳理一些简易好用、趣味易懂的shell训练脚本制作,期待能够帮上一些想学习培训shell的新手。张戈也会在空闲時间不确定期升级此篇,对现有案例开展改善和注解,提高易读性和易懂性。自然因为我会不确定期的加上大量简易、趣味且好用的shell训练脚本制作,协助一些有必须的新手入门学习培训者。

一、撰写一个脚本制作使大家在写一个脚本制作时全自动转化成”#!/bin/bash”这一行和注解信息内容。

全文编码为:

#!/bin/bash
if ! grep "^#!" $1 /dev/null; then
cat $1 EOF
#!/bin/bash
# Author:
#Date Time: `date +"%F %T"`
#Description:
vim +5 $1

新手见到这编码,将会不太用到,实际上非常简单,见到有$1,就表明必须带主要参数来实行,因此,这一脚本制作的实行方式是:

①、将之上编码储存为shell脚本制作,例如test,

②、应用chmod再加实行管理权限,chmod +x test

③、实行 ./test  newfile 就可以见到实际效果。

Ps:自然还可以不必第②步,立即应用 sh test newfile 就可以。

实行实际效果以下:

[不定期更新]简单的shell脚本练习实例

这一脚本制作针对常常写shell的朋友就很有效,可是忘掉带主要参数实行便会卡住没动,并且没有相对路径得话就立即在当今文件目录下转化成新文档,会太乱。因此张戈就将其改善一下,越来越更为实用:

#!/bin/bash
if [[ -z "$1" ]];then
 newfile=~/newscript_`date +%m%d_%S`
 newfile=$1
if ! grep "^#!" $newfile /dev/null; then
cat $newfile EOF
#!/bin/bash
# Author: Inert Your Name here.
#Date Time: `date +"%F %T"`
#Description: Please Edit here.
vim +5 $newfile

改善表明:假如未带主要参数实行,将在家里文件目录下转化成带時间戳的新文档,防止反复及乱的难题。可将这一脚本制作更名后立即丢到path相对路径中,例如/bin/addjb  那麼你的系统软件就多了一个指令 addjb了,不是是很趣味呢!

時间比较有限,下列脚本制作临时也不做检测、表述或改善了,请先自主检测吧!有时间再说升级。

二、随意三个整数金额,分辨较大数。
#!/bin/bash
echo "please enter three number:"
 read -p "the first number is :" n1
 read -p "the second number is:" n2
 read -p "the third number is:" n3
let MAX=$n1
if [ $n2 -ge $n1 ]; then
 MAX=$n2
if [ $n3 -ge $MAX ]; then
 MAX=$n3
echo "the max number is $MAX."

实行实际效果:

[不定期更新]简单的shell脚本练习实例

 

注:十分简易的逻辑性分辨脚本制作,有兴趣爱好的能够改善下,练练手。

 

三、求100之内偶数的和。

方式①:

#!/bin/bash
sum=0
for I in {1..50}; do
 sum=$(($sum+2*$I))
echo "the sum is $sum"

方式②:

#!/bin/bash
let SUM=0
for I in $(seq 1 100); do
 if [ $[$I%2] == 0 ]; then
 let SUM+=$I
echo "the sum is $SUM."
 四、运用for句子ping C类网、ping B类网。

①、ping C类网:

#!/bin/bash
read -p "C NETWORK:" MYNET
PINGNET=`echo $MYNET | sed 's/\([0-9.]*\)\ .[0-9]*/\1/g'`
let I=1
while [ $I -le 254 ];do
 ping –c1 –W1 $PINGNET.$I /dev/null
 [ $? -eq 0 ] echo "$PINGNET.$I online." || echo "$PINGNET.$I offline."
let I++
done

②、ping B类网:

#!/bin/bash
read -p "B network:" MYNET
PINGNET=`echo $MYNET | sed 's/\([0-9]\{1,3\}\.[0-9]\{1,3\}\)\..*/\1/g'`
for P in {0..255}; do
 for I in {1..255}; do
 if ping -c1 -W2 $PINGNET.$P.$I /dev/null; then
 echo "$PINGNET.$P.$I is online."
 else
 echo "$PINGNET.$P.$I is offline."
 done
done
五、提醒键入一个客户名,分辨客户是不是存有,假如存有,显示信息一下要户默认设置的shell。
#!bin/bash
read –p "please input a username:" USER
if cut –d:-f1 /etc/passwd | grep "^$USER$" /dev/null ;then
MYBASH=`grep "^$USER:" /etc/passwd | cut –d : -f7`
echo "${USER}'s shell is $MYBASH"
 echo "$USER not exists."
 exit 4
fi
六、监管系统软件登陆总数,超出四个,显示信息早已做到四个,5S查验一下,并撤出脚本制作(exit)
#! /bin/bash
read –p "A user:" MYUSER
cut –d : -f1 /etc/passwd | grep "^$MYUSER" /dev/null || exit 6
let COUNT=`who | grep "^$MYUSER" | wc –l`
until [ $COUNT –ge 4 ]; do
sleep 5
let COUNT=`who | grep “^$MYUSER” | wc -l`
echo "$MYUSER loged 4 times."
24 条答复
大CC 2014-6-21 · 11:37

有业务流程逻辑性层面的一大段脚本制作,不强烈推荐应用shell来解决,由于其其实不善于这些方面,英语的语法晦涩难懂繁杂,考虑到python更适合。shell更合适一二行拿下的每日任务,我非常近在写shell迅速手册,热烈欢迎提提议;


dessler 2016-4-26 · 1:33

分辨3数量尺寸,我略微改了了下,能够分辨客户键入的信息内容是不是为空或是是不是为标值

#!/bin/bash
echo "please enter three number:"
read -p "the first number is :" n1
read -p "the second number is:" n2
read -p "the third number is:" n3
if [ -n "$n1" -a -n "$n2" -a -n "$n3" ]
then
test1=$(echo $n1 | sed 's/[0-9]//g')
test2=$(echo $n2 | sed 's/[0-9]//g')
test3=$(echo $n2 | sed 's/[0-9]//g')
let MAX=$n1
if [ $n2 -ge $n1 ]; then
MAX=$n2
fi
if [ $n3 -ge $MAX ]; then
MAX=$n3
fi
echo "the max number is $MAX."
else
echo "请键入恰当的信息内容"
exit 11
fi

还比照了下-n 和 ! -z 仿佛是一样的功效

推荐阅读

[不确定期升级]简易的shell脚本制作训练案例

脚本制作程序编写企业网站建设資源共享帮我留言板留言有关' next-text='' view="0" >脚本制作程序编写[不确定期升级]简易的shell脚本制作训练案例Jager · 6月18日 · 2017年shell训练脚本制作...

2021-04-10
怎样才可以搞好seo?

seo一般有2个必须做:一个是网站内部提升,另外一个是外站提升,那样实际效果才可以更强!外站提升:要做友联,外部链接的加上,对于站点里面的商品,服务,特点等开展提升实际...

2021-04-10
大朗手机网页设计-微信公共号众号开发能帮你解

手机微信微信公众号是手机微信发布的一款提新闻资讯和服务的服务平台运用,但却必须根据手机微信微信公众号开发设计技术性来真实完成服务平台化。那麼,做为想根据移动互联网...

2021-04-10
html网页设计实例-龙兵装饰公司微信小程序源码业

龙兵装企拓客微信小程序,根据《龙兵智能化个人名片》产品研发近 3 年,迭代更新近 150 个版本号,800+ 代理商商意见反馈升级的基本上,沟通交流了 30家居装修修企业后,对于室内装...

2021-04-10
太原市LED广告宣传显示信息技术性运用于智能化

在太原市广告宣传企业中LED大屏幕广告宣传呈现屏专业技能的有关应用中,朝向大家的路程交通出行信息内容公布呈现是期间一个关键的应用范围。在朝向大家的交通出行引诱信息内容...

2021-04-10
网上商城系统网站-微信公众号定制

做为一个社交媒体新闻媒体,伴随着手机微信付款、大城市日常生活服务等便民利民作用的实行,手机微信平均月度总结应用時间做到了196七分钟。越来越越大的公司店家,看准了这波...

2021-04-10
X

400-8700-61718720358503
企业邮箱2639601583@qq.com
官方微信