linux --> shell --> script基础

linux下的shell命令学习笔记009

#! /bin/bash

# Program:

#This program shows "Hello world!" in your screen

# History:

# 2017/12/30 Orig Fisrt Release

 

# Note1:变量[name][value]相恋的等号左右不能存在空格,否则会出现一些错误!

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

export PATH

echo -e "Hello world!\a\n"

exit 0

 

 

 

#! /bin/bash

# Program:

#User Inputs his name and last name. Program shows his full name.

# History:

# 2017/12/30 Orig Fisrt Release

 

# Note1:变量[name][value]相恋的等号左右不能存在空格,否则会出现一些错误!

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

export PATH

 

read -p "first name:"  firstname

read -p "last name:" lastname

 

echo -e  "the full name is : $firstname $lastname\n"

 

exit 0

 

 

 

#! /bin/bash

# Program:

#新建文件,并且添加"_时间.bak"后缀

#模拟文件的不覆盖备份,和实际的应用相差甚远,仅仅作为例子

# History:

# 2017/12/30 Orig Fisrt Release

 

# Note1:变量[name][value]相恋的等号左右不能存在空格,否则会出现一些错误!

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

export PATH

 

# read -p "请输入要创建的文件名称:" filename

# 不再通过read读取,而是直接使用脚本的第一个参数

filename=$1

 

# 创建新文件

date=$(date +%y%m%d%H%M%S)

echo -e "date = $date"

 

filename=${filename}"_"${date}".bak"

echo -e "filename = $filename"

 

touch $filename

echo -e "新的文件[$filename]创建成功\n"

 

exit 0

 

 

 

#! /bin/bash

# Program:

#判断文件是否存在,若存在,则显示其内容。

#若不存在,则新建文件,并写入"Hello world!"

# History:

# 2017/12/30 Orig Fisrt Release

 

# Note1:变量[name][value]相恋的等号左右不能存在空格,否则会出现一些错误!

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

export PATH

 

# 此处加个判断,判断参数的个数

if [ $# != 1 ];then

echo "参数个数错误"

exit 1

fi

file=$1

 

# 实现的方式1

# test的参数-e用于检测该文件是否存在

# test -e $file && cat $file || echo "Hello world!" >$file

 

# 实现的方式2

if [ -e "$file" ];then 

cat $file | grep --color=auto '.*'

else

echo "Hello world!" >$file

fi

 

 

exit 0

 

 

 

#! /bin/bash

# Program:

#需要case的使用

# History:

# 2017/12/30 Orig Fisrt Release

 

# Note1:变量[name][value]相恋的等号左右不能存在空格,否则会出现一些错误!

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

export PATH

 

# shell脚本函数函数操作

function select_item ()

{

select=$1

case $select in

"one")

echo "选择1"

;;

"two")

echo "选择2"

;;

"three")

echo "选择3"

;;

*)

echo "您的输入有误!"

;;

esac

}

 

read -p "请输入你的参数(one/two/three): " select

select_item $select

 

 

exit 0

 

 

 

#! /bin/bash

# Program:

#while/until 循环的用法

#for固定循环

# History:

# 2017/12/30 Orig Fisrt Release

 

# Note1:变量[name][value]相恋的等号左右不能存在空格,否则会出现一些错误!

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

export PATH

 

 

# note1: 只有输入start之后才允许退出该循环

#

#until [ "$cmd" == "start" ]

while [ "$cmd" != "start" ]

do

read -p "请输入命令:" cmd

echo "$cmd" | grep --color=auto '.*'

done

 

# note2:

# --------------------------------------------

# 目前我虚拟机的地址是:192.168.1.105

# Windows 地址:192.168.1.103

# 我朋友的地址:192.168.1.101

#

# 路由器配置地址:192.168.1.1

# --------------------------------------------

network="192.168.1"

for sitenu in $(seq 0 2) $( seq 100 110)

do 

#echo "检测 $network.$sitenu"

ping -i 0.02 -c 4 -w 1 ${network}.${sitenu} &> /dev/nul && result=0 || result=1

if [ "$result" == 0 ];then

echo "Server ${network}.${sitenu} is UP." | grep --color 'UP\.$'

else

#echo "Server ${network}.${sitenu} is DOWN." | grep --color 'DOWN\.$'

echo "Server ${network}.${sitenu} is DOWN."

fi

done

 

 

# note3

# for 数值处理

a=0

for (( i=0; i<10; i++ ))

do 

a=$(($a + $i))

done

echo "ADD: result = $a"

 

 

# ---------- END -----------

exit 0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值