《Linux Shell脚本攻略》学习(一)

一直都在各种环境各种场合听人提起shell,因为不懂,所以总是一一略过,直到有一天,师兄跟我说,这个测试哪用自己跑,写个脚本就好。这时候我就想躲到角落默默画圈,师兄,我不是想自己跑,是我不懂写脚本。。。那时候,心里吹起一阵虐风,暗暗下定决心,某一天我得自己写个脚本,然后,故事就开始了。。。哈哈!

Shell环境能使用户与操作系统的核心功能进行交互,shell脚本是一些文件,把我们需要执行的一系列命令写入其中,然后通过shell来执行这些脚本。

1. 简介

Shell脚本是以*.sh作为文件结尾,文本开头是#!/bin/Bash#!被置于解释器路径之前,/bin/Bashbash的路径。将脚本作为命令行参数的运行方式如下:

$sh script.sh

$sh /home/path/script.sh

脚本作为sh的命令行参数来运行,那么脚本中的shebang行也就没有什么用处了。为了使shell脚本能够自己独立运行,需要具备可执行权限。要使脚本独立运行,必须使用shebang行。它通过使用位于#!之后的解释器来运行脚本,至于脚本的可执行权限可以通过以下方式来设置

$chmod a+x script.sh

$./script.sh

另一个注意点是,在Bash中,每个命令或者命令序列都是通过使用分号或者换行符来分隔的。

$cmd1

$cmd2

=$cmd1 ; cmd2

字符#指明注释开始的地方,bash不予以执行。

2. 终端打印

$echo “welcome to Bash”

$echo ‘welcome to Bash’

$echo welcome to Bash

无论是单引号,双引号还是没有引号,echo都能在终端打印文本,但是这三种方式各有副作用:

① 双引号:打印不出“!”

② 单引号:Bash不会对单引号中的变量求值,而只是照原样显示。

③ 没有引号:打印不处“;”,因为在Bash中,“;”代表另一条命令开始。

 

趣味echo-----彩色打印

我们可以使用echo命令行进行彩色打印,玩转终端显示界面。每种颜色都有对应的颜色号码,比如:重置0,黑色30,红色31,绿色32,黄色33,蓝色34,洋红35,青色36,白色37.

背景色的设置为重置0,黑色40,红色41,绿色42,黄色43,蓝色44,洋红45,青色46,白色47

$echo -e “\e[1;34m this is blue text ! \e[0m”其中34m是将文本设置为蓝色,0m是将文本重置。如果没有\e[0m,则终端显示就会变成蓝色。

 

 

$echo -e “\e[1;41m this is red background ! \e[0m”

 

3. 环境变量

pgrep可以用来查询进程的进程号。然后通过cat命令可以查看该进程相关的环境变量。

$pgrep gedit

$cat /proc/所获得的进程号/environ

由于环境变量通常有很长一串,所以我们可以使用下面命名进行环境变量的显示分隔。

$cat /proc/所获得的进程号/environ |tr ‘\n’

环境变量未在当前进程中定义,而是从父进程继承而来,则使用export命令来设置环境变量。

$echo $PATH

$export PATH=”$PATH:/home/usr/bin”

4. 补充内容

① 识别当前的shell版本

$echo SHELL

② 修改Bash提示字符串

$cat ~/.bashrc |grep PS1

PS1=’${debian_chroot:+{$debian_chroot}\u@\h:\w\$}’

\u代表用户名,\h代表主机名,\w代表当前工作目录

5. 通过shell进行数学运算

Let命令可以直接执行基本的算术操作。

$let result=a+b

$echo $result

Bc命令可以进行更加高级的运算。

$echo “4 * 1.5” | bc

$echo “scale=2;3/8” | bc   #精确到小数点后两位

$echo “obase=2;100” | bc  #100转化为2进制

$echo “sqrt(100)” | bc     #100开平方

$echo “10^2” | bc        #10的乘方

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章