您的位置:首页 > 运维架构 > Shell

Linux Shell编程简单知识

2016-10-24 13:32 267 查看

一、Bash Shell常用命令

1. type

命令格式:type 参数命令
功能:判断一个命令是外部命令还是内部命令
参数分析如下:


参数作用
显示出命令是外部命令还是内部命令
-tFile:外部命令;Alias:表示该命令别名所设置的名称;Builtin:表示该命令为Bash内置的命令功能
-p显示完整文件名(外部命令)或显示内置命令
-a在PATH变量定义的路径中,列出所有含name的命令
例子如下:

#type ls
ls is aliased to 'ls --color=tty'
#type -t ls
Alias
#type -a ls
ls -is aliased to 'ls --color=tty'
ls is /bin/ls


通过type命令,我们知道每个命令是否为Bash的内置命令。使用type搜索后面名称时,必须保证后面接的名称是可执行文件,否则不会显示。

2. echo

命令格式:echo arg
功能:在屏幕上显示出由arg指定的字符串
例子如下:


#vi 01.sh
#!/bin/bash
echo "hello world!"
#./01.sh
hello world!


或直接在终端输入以下命令查看PATH环境变量

#echo $PATH


3. export

命令格式:1、export variable
功能:Shell可以用export把他的变量向下带入到子Shell,使子进程继承父进程中的环境变量,但不能向上带入父进程·。
命令格式:2、export
功能:显示出当前所有环境变量和内容


4. read

命令格式:Read variable
功能:从标准输入设备读入一行,分解成若干行,赋值给Shell程序定义的变量。
例子如下:


#vi readtest.sh
#!/bin/bash
echo -e "Please ecter:%c"
read x
echo "you enter:$x"
#./readtest.sh
Please ecter:hello
you enter:hello


5. env

命令格式:env
功能:显示环境变量及其内容


6. set

命令格式:env
功能:显示环境变量及其内容


7. unset

命令格式:unset
功能:从环境中删除变量,但不能删除shell本身定义的只读变量。


#!/bin/bash
test="Hello"
echo $test
unset test
echo $test


第一次输出字符串“Hello”,但第二次只输出一个换行符。

8. grep

命令格式:grep 参数 string 目标文件
功能:从一堆文件中查找一个特定的字符串,并将字符串所在行显示到终端或平台


参数为-c :计算找到 ‘字符串’ 的次数

参数为-i :忽略大小写的不同,所以大小写视为相同

参数为-n :顺便输出行号

参数为-v :反向选择,即显示出没有 ‘字符串’ 内容的行

参数为-a :将 binary 文件以 text 文件的方式搜寻数据

#vi testfile
001,one,red
002,two,blue
003,three,green
#vi test.sh
#!/bin/bash
grep -v "001" testfile
#./test.sh
002,two,blue
003,three,green


二、简单Shell应用

1. 基本语法

程序必须以  #!/bin/bash  作为第一行,符号"#!"是用来告诉系统它后面的参数是用来执行该文件的程序。编译好脚本之后,如果要执行,必须赋予文件可执行的权限,使用以下命令:


#chmod 777 [文件]


在进行Shell编程时,以“#”开头的句子表示改行被注释了。

2. 创建过程

(1)创建文件:(创建文件名为test的脚本文件)


#vi test.sh
#!bin/bash
#This is a example
echo "Hello world!"


(2)设置可执行权限:


#chmod 777 test.sh


(3)执行程序


#./test.sh
Hello world!


***END!***
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell linux shell bash path