当前位置: 首页 > news >正文

网站建设招标信息百度人工申诉客服电话

网站建设招标信息,百度人工申诉客服电话,汉中做网站的公司,响应式相册网站模板下载文章目录shell脚本脚本语言简介shell脚本shell脚本优势编写自己的第一个脚本执行shell脚本练习案例shell脚本的注意事项shell脚本 脚本语言简介 脚本语言(script language) 相对于编译型语言而言 语言编写——>编译——>链接——>运行 缩减编译型语言的过程底层处理…

文章目录

    • shell脚本
      • 脚本语言简介
      • shell脚本
      • shell脚本优势
      • 编写自己的第一个脚本
      • 执行shell脚本
    • 练习
      • 案例
      • shell脚本的注意事项

shell脚本

脚本语言简介

脚本语言(script language)
相对于编译型语言而言
语言编写——>编译——>链接——>运行
缩减编译型语言的过程底层处理数据:字节/整数/浮点数/机器层的对象C、C++,Java,C#编译型脚本语言执行一般为解释性语言,通过解释器读入脚本程序,转为内部形式进行执行
解释器本身就是一个编译型的程序

shell脚本

shell脚本语言是linux/unix系统上的雨中重要的脚本语言,在*nix领域运用极为广泛,通过shell脚本语言可以讲繁琐的事情简单实现

shell脚本优势

简单,易学,适合处理文件和目录之类的对象
以简单的方式完成复杂的操作1.语法和结构通常比较简单2.学习和使用通常比较简单3.通常以容易修改程序的“解释”作为运行方法,不需要“编译”4.程序的开发产能优于运行效能#脚本语言的执行效率不如编译型语言

编写自己的第一个脚本

shell脚本的基本元素[root@server0 ~]# cat everyday.sh 
#!/bin/bash
cd 
. .bash_profile
date
who
[root@server0 ~]# #!    符号称为"sha-bang"符号,是shell脚本的起始符号
#!    符号是指定一个文件类型的特殊标记,它告诉linux系统这个文件执行需要指定    一个解释器
#!    符号之后是一个路径,这个路径指明解释器在系统中的位置shell脚本语言解释器一般为bash/sh     sed/awk命令是shell脚本的基本元素,命令通常由命令名称,选项,参数三部分组成# 仪式感   打印属于shell脚本的hello world
[root@server0 programe]# vim hello.sh
[root@server0 programe]# 
[root@server0 programe]# 
[root@server0 programe]# 
[root@server0 programe]# chmod u+x hello.sh 
[root@server0 programe]# ./hello.sh 
Hello World
[root@server0 programe]# echo $?
0
[root@server0 programe]# cat hello.sh 
#!/bin/bash
# #代表注释.
#This is shell script first programe.
#This program is print "Hello world".
#Author:daochang
#Date:"2018-11-28"
#Version:0.1echo "Hello World"exit 0
[root@server0 programe]# 

执行shell脚本

1.赋予权限,直接运行脚本chmod u+x  *.sh./*.sh
2.没有权限,通过bash或sh运行bash  *.shsh   *.sh3.没有权限,通过source 或者 .  运行脚本source *.sh.  *.sh不同执行方法的区别在于,赋予脚本权限后直接运行脚本将在用户当前shell下开启一个新的子进程,并在子进程中运行脚本程序
通过bash命令加载并执行,此时系统将不在关心#!后面的解释器,而是直接使用bash作为解释器解释脚本内容并执行
通过 .  或source方法执行脚本,则脚本将在用户当前shell环境下运行

练习

案例

#制作程序菜单
[root@server0 programe]# cat menu.sh 
#!/bin/bash
#This is a meun script
clear
#清空屏幕
echo "*****************************************"
echo -e "*\033[1;31m\t\tMenu\t\t\033[0m\t*"
#echo -e 开启转义功能
#\033[1,31m  颜色输出  1为样式与前景色,31为字体颜色   \033[0m  关闭颜色设置
echo "*****************************************"
echo "1.Display system CPU info and system load"
echo "2.Display system Men info and swap info"
echo "3.Display filesystem mount info"
echo "4.Display system network interface info"
echo "5.EXIT"
[root@server0 programe]# #统计基本信息
#利用命令堆积方式,对囧啊本排版格式不做任何处理[root@server0 programe]# cat sysinf.sh 
#!/bin/bash
#This script can be used to collect system basic infomation.
echo "………………………………………………………………………………………………………………………………"
echo "Display CPU info"
echo $(cat /proc/cpuinfo  | grep 'model name')
echo "………………………………………………………………………………………………………………………………"
echo "Display system load!"
echo $(uptime)
echo "………………………………………………………………………………………………………………………………"
echo "Display  swap info:"
echo $(free | grep wap)
echo "………………………………………………………………………………………………………………………………"
echo "Display filesystem mount info"
echo $(df -hT | grep 'boot')
echo "………………………………………………………………………………………………………………………………"
echo "Display network interface info:"
echo $(ip addr show| grep inet)
echo "………………………………………………………………………………………………………………………………"#利用变量
#打印环境变量
[root@server0 programe]# cat aver.sh 
#!/bin/bash
#
#利用$可以在脚本中引用环境变量
echo "user info for userid:$USER"
echo UID:$UID
echo HOME:$HOME
[root@server0 programe]# #添加用户变量
[root@server0 programe]# cat user_var.sh 
#!/bin/bash
#test variables
days=10
guest='dana'
echo "$guest checked in $days days ago"
days=5
guest="huanglaobam"
echo "$guest checked in $days days ago"
[root@server0 programe]# [root@server0 programe]# vim user_var2.sh 
[root@server0 programe]# source user_var2.sh 
result is 10
[root@server0 programe]# cat user_var.sh 
#!/bin/bash
#test variables
value1=10
value2=$value1echo The result value is $value2
[root@server0 programe]# cat user_var2.sh 
#!/bin/bash
a=10
b=$a
echo result is $b
[root@server0 programe]# #反引号
shell脚本中反引号,
反引号允许将shell命令的输出赋值给变量
准确的说,必须将整个命令用反引号包围起来[root@server0 programe]# cat fanyinhao.sh 
#!/bin/bash
test=`date`
echo $test
[root@server0 programe]# #使用反引号捕捉当前日期,并用他在脚本中创建唯一的文件名
[root@server0 programe]# cat fyh.sh 
#!/bin/bash
#copy the /usr/bin listing to a log file
today=`date +%y%m%d`
echo today is $today
ls -la /usr/bin > log.$today
[root@server0 programe]# #数学计算
[root@server0 programe]# cat math1.sh 
#!/bin/bash
#an example of using the expr comand
var1=10
var2=20
var3=`expr $var2 / $var1`
echo The reslut is $var3
[root@server0 programe]# #利用括号进行数学运算
[root@server0 programe]# cat math2.sh 
#!/bin/bash
var1=10
var2=50
var3=45
var4=$[$var1*($var2-$var3)]
echo The reslut is $var4
[root@server0 programe]# #利用bc进行数学运算
[root@server0 programe]# cat math3.sh 
#!/bin/bash
var1=`echo "scale=4;3.44 / 5" | bc`
echo The result is $var1
[root@server0 programe]# #
[root@server0 programe]# cat math4.sh 
#!/bin/bash
var1=10
var=3.1415936
var3=`echo "scale=4;$var1*$var1" | bc`
var4=`echo "scale=4;$var3*$var2"| bc`
echo The reslut is $var4
[root@server0 programe]##EOF文本字符串表明内置重定向数据的开始和结尾
[root@server0 programe]# cat  math5.sh 
#!/bin/bash
var1=10.55
var2=3.66
var=32.4
var4=98
var5=`bc << EOF
scale=4
a1=($var1*$var2)
b1=($var3*$var4)
a1+b1
EOF
`
echo The final reslut is $var5
[root@server0 programe]# #退出状态    $?
[root@server0 programe]# cat exit_status.sh 
#!/bin/bash
#test the exit status
var1=10
var2=30
var3=$[$var1*$var2]
echo The reslut is $var3
exit $var3
[root@server0 programe]# #退出状态码最高255
0-255
通过模计算得到状态码
一个值的模是除操作之后余数,运算结果就是哪个特定的数被256除了之后的余数,本例结果为300

shell脚本的注意事项

1.开头解释器  #!/bin/bash
2.语法缩进,使用四个空格
3.多加注释
4.命名规则:变量名大写,函数名小写,命名要有意义
5.默认变量是全局的,在函数中变量local指定为局部变量
6.一定先测试在投入到生产环境
http://www.lbrq.cn/news/2558287.html

相关文章:

  • 德州宁津建设局网站狼雨seo网站
  • top域名的网站google app
  • 购物网站开发django广东seo价格是多少钱
  • xv10相同网站荆州网站seo
  • 盘锦网站建设兰州网络推广关键词优化
  • 做网站简单么营销策略ppt模板
  • 有哪个网站教人做美食庆云网站seo
  • 评网网站建设优化营商环境条例全文
  • 网站中加入企业qqseo百度seo排名优化软件
  • 泰国做那个视频网站google chrome
  • 九江网站排名黄页88网推广服务
  • 网址网页网站的区别??市场营销策划方案3000字
  • 技术培训网站脱发严重是什么原因引起的
  • 建立的短语一键优化软件
  • 优秀企业网站赏析西点培训前十名学校
  • 网站建设有哪些软件有哪些内容马鞍山seo
  • 西宁网站建设百度一下打开网页
  • 网站设计目的徐州百度运营中心
  • 建设网站服务商网上有卖网站链接的吗
  • 做带支付功能的网站58网络推广
  • 网站升级页面连接设置百度seo推广首选帝搜软件
  • 长春网站分析无排名优化
  • 个人视频制作公司网站优化技巧
  • 聊天网站制作教程成都网站建设方案托管
  • 做网站好还是做商城好关键词批量调词 软件
  • b2b模式的典型电商平台代表关键词诊断优化全部关键词
  • 酒店设计网站建设方案百度网盘手机版
  • 国外 网页框架搭建的网站域名批量注册查询
  • div css网站重构第一版视频教程女教师遭网课入侵视频大全
  • 哪个网站上门做护肤app优化推广
  • 【隧道篇 / IPsec】(7.6) ❀ 02. 如何删除向导创建的IPsec安全隧道 (点对点) ❀ FortiGate 防火墙
  • SpringCloud(一)微服务基础认识
  • 暑期算法训练.12
  • Go语言的gRPC教程-拦截器
  • Java WEB技术-序列化和反序列化认识(SpringBoot的Jackson序列化行为?如何打破序列化过程的驼峰规则?如何解决学序列化循环引用问题?)
  • 软件工程:软件复用