shell编程-基本脚本

目录

一、shell脚本文件:

1、创建文件  

2、编辑脚本

3、查看环境变量

4、在命令行使用相对路径或绝对路径引用脚本。

二、使用变量

1、环境变量:在环境变量名称前加美元符号$

2、用户变量:不超过20个字母、数字或下划线,区分大小写,变量、等号和值之间不能出现空格,可用$引用变量

3、反引号(`):用于将shell命令的输出赋给变量

4、输出重定向(大于号)  :将命令的输出重定向到文件

5、输入重定向(小于号)  :将文件的内容重定向到命令

6、管道(|):将一个命令的输出重定向到另一个命令上

7、执行数学运算

8、退出脚本


shell命令行界面:多个命令一起运行可以使用分号隔开 如:date ; who

一、shell脚本文件:

1、创建文件  

touch test.txt  脚本添加执行权限chmod u+x test.txt

2、编辑脚本

#!/bin/bash   第一行告诉shell用哪个shell运行脚本
# this is test  注释
echo -n 'today is: ' #echo用于显示消息,-n在同一行显示字符串消息
date   #当前时间
echo "who's oparation:"   #当消息字符有引号时可用单引号或双引号把字符串圈起来
who  #用户登录时间

3、查看环境变量

echo $PATH,把脚本目录/home/wcy/bin/添加到环境变量PATH中

4、在命令行使用相对路径或绝对路径引用脚本。

/home/wcy/bin/test.txt   或bin下  ./test.txt

结果:
today is: Thu Mar 30 11:30:49 EDT 2017
who's oparation:
wcy      pts/0        2017-03-30 10:46 (192.168.0.100)


二、使用变量

1、环境变量:在环境变量名称前加美元符号$

echo "userid is : $USER"
echo UID: $UID
echo HOMR: $HOME
echo "the cost of the item is \$15"  #如要显示美元符号前面要加反斜线
echo "this $15"

结果:
userid is : wcy
UID: 0
HOMR: /root
the cost of the item is $15
this 5

2、用户变量:不超过20个字母、数字或下划线,区分大小写,变量、等号和值之间不能出现空格,可用$引用变量

value=10
value2=$value
echo value2 is $value2

结果:
value2 is 10

3、反引号(`):用于将shell命令的输出赋给变量

today=`date`
echo today is : $today
echo `date +%y%m%d`
结果:
today is : Thu Mar 30 12:21:02 EDT 2017
date
170330

4、输出重定向(大于号)  :将命令的输出重定向到文件

command > outputfileName  文件存在会覆盖  
command >> outputfileName  文件存在不会覆盖 ,追加

who >> test1
date > test1

结果:
wcy      pts/0        2017-03-30 10:46 (192.168.0.100)
Thu Mar 30 12:38:54 EDT 2017

5、输入重定向(小于号)  :将文件的内容重定向到命令

command < inputfileName    

[root@localhost bin]# wc < test1
 2 11 84 

说明test1文件有2行 11个单词 84字节

内联输入重定向(双小于号):允许在命令行输入重定向的数据
command << marker
data       #重定向数据 
maker      #开始和结尾标识要一致
例如:
[root@localhost wcy]# wc << end
> test 11
> test 12 test1
> end
 2  5 22


6、管道(|):将一个命令的输出重定向到另一个命令上

command | command2

rpm -qa | sort > rpm.list


7、执行数学运算

expr命令 :expr 1+5
方括号[]:var=$[$var1 + 5]

8、退出脚本

查看退出状态码(0-255):echo $?
0 命令成功结束
1 命令未知错误
126 命令不可执行
127 无效命令

exit命令:默认脚本以脚本中的最后一个命令的退出状态码退出,但脚本结束时可以使用exit指定
#!/bin/bash
var1=12
var2=20
var3=$[$var1 + var2]
echo the result is $var3
exit $var3

结果:
[root@localhost bin]# ./r.txt 
the result is 32
[root@localhost bin]# echo $?
32

  • 24
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

棉花糖老丫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值