shell edit
1、#!/bin/shell
such as:
vim base.sh
#!/bin/bash
date;who
vim shaw.sh
#!/bin/bash
date
who
注意:
1、脚本shell中,连个命令之间可以“写在同一行,以;隔开”,也可以分两行写。
2、以“#”开头的行都不会被shell处理
3、echo命令可以用单引号或双引号将文本字符串圈起来,如果你在字符串中用到了他们,你需要
在文本中使用其中一种引号,而用另外一种来将字符串圈起来
2、echo -n 同行显示
vim shaw.sh
#!/bin/bash
#this script displays the date and who‘s logged on
echo -n "The time and date are: "注意此处有空格
date
echo "Let‘s see who‘s logged into the system:"
who
sh shaw.sh
[[email protected] ~]# sh ./shaw.sh
The time and date are: Tue Sep 2 10:47:38 CST 2014
Let‘s see who‘s logged into the system:
root pts/0 2014-09-02 08:57 (172.24.10.1)
3、\ 转译符号
例如:
[[email protected] ~]# echo "this is $15"
this is 5
[[email protected] ~]# echo "this is \$15"
this is $15
4、$+符号(变量引用)
变量每次被引用时,都会输出当前赋给它的值!“引用一个变量值时需要使用$。。。”
such as:
#!/bin/bash
#This is testting shell yinyong!!!
days=10
guest="shaw"
echo "$guest checked in $days days age"
days=5
guest="sam"
echo "$guest checked in $days age"
[[email protected] ~]# sh bianliang.sh
shaw checked in 10 days age
sam checked in 5 age
5、``反引号(命令替换)
反引号允许你将shell命令的输出赋给变量
such as:
vim tihuan.sh
#!/bin/bash
#This is the testting minglingtihuan shell!
testing=`date`
echo "The date and time are;"$testing
[[email protected] ~]# sh tihuan.sh
The date and time are;Tue Sep 2 22:10:47 CST 2014
6、重定向
输出重定向 >
将某个命令的输出重定向到另一个位置(比如文件)
格式:command > outputfile
such as:
[[email protected] ~]# date > shaw
[[email protected] ~]# cat shaw
Tue Sep 2 22:17:33 CST 2014
重定向操作符创建了一个文件-shaw,并将date命令的输出重定向到shaw文件中,
注意:
1 > 单大于号,如果输出文件已经存在了,则这个重定向操作符会用新的文件数据覆盖已经存在的文件
2 >> 双大于号,表示不覆盖原文件的内容,而是追加新内容到文件中
输入重定向 <
将文件的内容重定向到命令,而非将命令的输出重定向到文件
such as:
[[email protected] ~]# cat base.sh
#!/bin/bash
#This‘s the test shell!
var1=`echo "scale=4; 2.67 / 4" | bc`
echo The answer for this is $var1
[[email protected] ~]# wc < base.sh
4 19 107
wc:统计说明
文本的行数 4
文本的次数 19
文本的字节数 107
7、管道 |
发送某个命令的输出作为另一个命令的输入。
[[email protected] ~]# cat shaw
Tue Sep 2 22:17:33 CST 2014
[[email protected] ~]# cat shaw | wc
1 6 29
待完善。。。