Shell 脚本初学

原创 2017年05月04日 16:11:35

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

Hello world!


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

vim hello.sh

进入vim程序,输入:

#!/bin/bash
echo "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/bash
echo "What is your name?"
read Name
echo "Hello, $Name"

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

变量


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

variableName="value"

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

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

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

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

readonly variableName

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

unset variable_name

但不能删除只读变量。

还是先干工作吧……


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

#!/bin/bash
python work1.py
python work2.py

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

版权声明:本文为博主原创文章,转载请标注出处。

相关文章推荐

Shell脚本初学

  • 2012年07月09日 12:00
  • 17.39MB
  • 下载

初学Shell脚本命令

大神绕过,小弟才开始学shell 基于mac .谨以此文记录学习笔记 ------------------------分割线----------------------------- 使用命令创建一个...

shell脚本初学 遍历目录下的文件

前天接到一个小任务,写一个shell脚本,负责对文件根据日期归类统计,之前没有写过shell脚本,只知道sh文件可以直接在命令窗口执行,瞎折腾了半天,也算是完成了一半的任务(等我写好了,头儿早已经写好...
  • mm_bit
  • mm_bit
  • 2015年09月08日 10:32
  • 1414

初学shell,今天遇到由wget下载到本地的网页源代码的乱码问题,无聊的写了一个转码的脚本

今天用wget想下载文件,结果下载了一堆本地的index.html文件,一查看全是乱码,然后百度了一下,网页的编码格式大概有三种: 1、utf-8 2、gb2312 3、gbk 要在网页源码中...

学习shell脚本遇到的小知识!.txt

  • 2017年11月15日 16:03
  • 7KB
  • 下载

Linux Shell 脚本攻略(中文版)

  • 2017年11月09日 12:29
  • 5.84MB
  • 下载

Shell脚本调试的几种方式

脚本调试的主要工作就是发现引发脚本错误的原因以及脚本源代码中定位错误行。归纳汇总了下,调试脚本时,我们可能会用到的几种方式,比如说:最简单的通过echo的方式,通过set -x的方式,比较高端一点的通...

shell 复制脚本

  • 2017年10月20日 09:21
  • 125B
  • 下载

Shell脚本学习指南.pdf

  • 2016年06月16日 14:59
  • 33.98MB
  • 下载

shell脚本杀死进程及所有子进程

在一个C++项目中,程序启动时通过systemdia
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Shell 脚本初学
举报原因:
原因补充:

(最多只允许输入30个字)