`

shell脚本

阅读更多

Shell是命令解析器,将用户的指令转换为相应的机器能够运行的程序。

Shell脚本是一个包含一系列命令序列的文本文件。当运行这个脚本文件时,文件中包含的命令序列将得到执行。

ex1:脚本范例

#!/bin/sh
#echo something
echo "hello world"
mkdir /tnt

注意:

第一行:#!用来指定该脚本程序的解析程序,开头的第一行只能有这些:#!/bin/sh

第二行:注释,在进行shell编程是,以#开头的句子表示注释,直到这一行的结束。

ex2:变量的使用

shell编程中,所有的变量都是由字符串组成,并且不需要预先对变量进行声明。

#!/bin/sh
#set varible a
a="hello world"
#print a
echo "A is:"
echo $a

注意:变量的申明无需加$,但是再次引用时需加$,echo 命令会自动加上换行符,如果想要其解析转义字符"\n",需加-e选项。
比如:
#!/bin/sh
#set varible a
a="hello world\n"
#print a
echo -e "A is:\n"
echo -e $a

使用花括号来告诉shell我们要打印的是num变量

#!/bin/sh

#set variable num

Num=2

Echo “this is the ${num}nd”

ex3:默认变量的使用
$#:传入脚本的命令行参数的个数
$*:
所有命令行参数值
$0:
命令行本身(shell文件名)
$1:
第一个参数值
$2:
第二个参数值

#!/bin/sh
echo "number of vars:"$#
echo "values of vars:"$*
echo "value of var1:"$1
echo "value of var2:"$2
echo "value of var3:"$3
echo "value of var4:"$4

执行命令:# ./ex3 1 2 3 4
运行结果:
number of vars:4
values of vars:1 2 3 4
value of var1:1
value of var2:2
value of var3:3
value of var4:4

ex4:变量的声明
#!/bin/sh
#set varible num
num1=11111
echo "this is the ${num1}nd"
num2=2222
echo "this is the $num2nd"
运行结果:
this is the 11111nd
this is the

注意:对于没有事先声明的变量,echo输出值为空

ex5:全局与局部变量的使用

#!/bin/bash
hello="var1"
echo $hello
function func1
{
local hello="var2"
echo $hello
}
func1
echo $hello

输出结果:
var1
var2
var1

1. 变量赋值是,“=”左右两边都不能有空格

2. BASH中的语句结尾不需要分号

ex6:文件和目录的属性

#!/bin/sh
folder=/home/smb
[ -r "$folder" ] && echo "Can read $folder"
[ -f "$folder" ] || echo "this is not file"

输出结果:

Can read /home/smb

this is not file

ex7:循环
#!/bin/bash
for day in Sun Mon Tue Wed Thu Fri Sat #the first loop
do
echo $day
done
echo "**************"
for day in "Sun Mon Tue Wed Thu Fri Sat" #the second loop
do
echo $day
done

执行结果:
Sun
Mon
Tue
Wed
Thu
Fri
Sat
**************
Sun Mon Tue Wed Thu Fri Sat

注意:列表被双引号括起来会被认为是一个元素

ex8case的使用

使用格式:

case "$variable" in
"$condition1" )
command...
;;
"$condition2" )
command...
;;
esac

注意: 对变量使用""并不是强制的, 因为不会发生单词分割;每句测试行, 都以右小括号)来结尾;每个条件判断语句块都以一对分号结尾 ;;case块以esac (case的反向拼写)结尾.

示例如下:
#!/bin/bash
echo "Hit a key, then hit return."
read Keypress
echo "the leller you typed is $Keypress"
case "$Keypress" in
[a-z] ) echo "Lowercase letter";;
[A-Z] ) echo "Uppercase letter";;
[0-9] ) echo "Digit";;
* ) echo "Punctuation, whitespace, or other";;
esac

分享到:
评论

相关推荐

    LinuxShell脚本学习基础视频

    资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...

    Shell脚本中获取进程ID的方法

    我该如何在shell脚本中得到PID。 当我在执行shell脚本时,它会启动一个叫子shell的进程。作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为“批处理进程”)。 在某些情况下,你也许想要...

    输出执行操作和打印日志的shell脚本实例

    cat /mnt/log_function.sh #!/bin/bash #log function ####log_correct函数打印正确的输出到日志文件 function log_correct () { DATE=`date “+%Y-%m-%d %H:%M:%S”` ####显示打印日志的时间...log_error打印shell脚本

    250个shell脚本

    Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。 Shell可以直接使用在win/Unix/Linux上面,并且可以调用大量系统内部的功能来...

    Shell脚本专家指南

    Shell脚本专家指南》旨在为Linux、Unix以及OSx系统管理员提供短小精悍且功能强大的shell实现解决方案,教会读者如何使用现有调试器调试shell脚本。全书分为3个部分:脚本技术基础、系统交互和高级技术、有用的脚本...

    Linux_shell脚本全面学习

    Linux_shell脚本全面学习 Linux_shell脚本全面学习

    Shell脚本编程100例

    Shell脚本编程100例。 融汇 shell 脚本知识点,集大成之作。 本书实在是学习、进修、面试、居家旅行必备精品!

    shell脚本写的加密脚本

    学习shell脚本,了解linux知识。

    常用shell 脚本,dos攻击防范,

    常用shell脚本, Dos攻击防范(自动屏蔽攻击IP).sh 一键部署等等 Linux系统发送告警脚本.sh MySQL数据库备份单循环.sh MySQL数据库备份多循环.sh nginx 访问访问日志按天切割.sh nginx.conf nginx访问日志分析...

    109个shell脚本合集.pdf

    109个shell脚本合集.pdf

    IDEA中编写并运行shell脚本的实现

    主要介绍了IDEA中编写并运行shell脚本的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Linux-shell脚本全面学习.pdf

    Linux-shell脚本全面学习.pdf

    Linux shell 脚本 markdown文本编辑

    有关几个shell脚本的编写,如:编写一个shell脚本程序,它带一个命令行参数,这个参数是一个文件。如果这个文件是一个普通文件,则打印文件所有者的名字和最后的修改日期...加入了自己的注释理解

    提高cpu利用率的shell脚本

    需要提高cpu利用率的shell脚本

    Shell脚本学习教程PDF版

    Shell脚本学习教程PDF版

    linux 通讯录shell脚本

    linux通讯录的shell脚本,很多linux大作业都需要

    Linux shell脚本.rar

    文件包含大作业shell脚本(快速备份系统)源码,实验课做的Linux实验shell脚本:Samba实验,DDNS(DHCP服务器 和DNS服务器的配置)的shell脚本,运行脚本每个实验只需要两三分钟即可完成。 其中sy1为实验一脚本,sy2...

    shell脚本生成.txt数据文件

    shell脚本生成.txt数据文件,shell脚本生成.txt数据文件

    shell脚本如何获取随机数random

    文章主要介绍shell脚本如何获取随机数random的方法,感兴趣的朋友可以看看。

Global site tag (gtag.js) - Google Analytics