Shell 脚本初学

来源:互联网 发布:程序员优缺点 编辑:程序博客网 时间:2024/05/19 10:37

其实这个是因为服务器卡不够用,为了充分占用一块卡的资源,需要写个shell脚本帮忙运行网络= =
shell是一种脚本语言(区别于编译语言),在UNIX上基本都通用。在我看来,这个脚本主要并不是用来计算,而是用来管理打杂的。

Hello world!


第一个程序,还是输出Hello world吧。
首先建立一个脚本文件

vim hello.sh

进入vim程序,输入:

#!/bin/bashecho "Hello World !"

“#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell,bash是比较通用的一个shell。echo命令用于向窗口输出文本,其实你直接在shell中输入echo Hello World!。也会有相同的效果。
即可。
之后运行需要退出,

./hello.sh

但会出现:

permission denied: ./hello.sh

没有权限,增加之后再试试:

chmod +x ./test.sh  #使脚本具有执行权限./test.sh  #执行脚本Hello world!

成功~
有了输出也会有输入,输入的命令是read

#!/bin/bashecho "What is your name?"read Nameecho "Hello, $Name"

这时候执行会等待你输入,并显示出来。

变量


shell中变量的赋值很简单,只需要=即可

variableName="value"

但是要注意:
- 变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样
- 首个字符必须为字母(a-z,A-Z)
- 中间不能有空格,可以使用下划线(_)
- 不能使用标点符号
- 不能使用bash里的关键字(可用help命令查看保留关键字)

如果观察上面读取语句,会发现使用的时候需要在变量前加上$符号:

your_name="Myname"echo $your_nameecho ${your_name}

推荐在变量外加上大括号,用于和其他字符区分。
既然是变量,就可以多次赋值修改,但也有例外:

readonly variableName

可将变量改为只读变量(也就是常量吧……)。
最后也可以删除变量:

unset variable_name

但不能删除只读变量。

还是先干工作吧……


其实在linux中输入的命令,就是在解释器中运行程序,而shell脚本让这个过程更为集中、简单。做类比的话,shell就是python,.sh就是.py。那么我们如果想要运行程序,直接写我们在命令行里的命令就好了。

#!/bin/bashpython work1.pypython work2.py

这样就不用担心卡在完成工作前被占用了~

0 0
原创粉丝点击