博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
构建基本脚本
阅读量:5166 次
发布时间:2019-06-13

本文共 1864 字,大约阅读时间需要 6 分钟。

#执行多个命令(;隔开)    date;who -- 当前时间,谁登陆了系统#创建shell脚本(文件名.sh,文本中通过#注释行)    sh ly_sw_cs.sh#终端打印(echo,如果文件中出现引号需要用另一种引号来区分)    echo ok    echo "o'k"    echo 'o"k'    echo -n "ok " -- 同行显示。需要加引号并保证末尾至少有一个空格(便于区分)    !注意:bash不会对echo中单引号的内容求值、不能识别双引号中的(!)#使用变量($,可使用转义\显示$,变量区分大小写)    环境变量    用户变量(        命名:字母、数字或下划线组成的文本字符串;        赋值:变量、等号和值之间不能出现空格)        echo "this is an apple $hello" -- 使用双引号或不使用才能识别环境变量$hello        echo $ok;ok=$hello    -- 创建用户变量ok,将变量hello的值赋给ok    命令替换 —— $()        today=$(date +%y%m%d)    --  +%y%m%d 格式告诉 date 命令将日期显示为两位数的年月日的组合        ls -al > log.$today    -- 常用。文件log.$today根据脚本运行时间改变,如log.190429#重定向输入输出(格式:命令 符号 文件)    输出重定向(>)(>>追加数据,注意使用cat追加换行退出)    输入重定向(<)(<
<内联输入重定向) wc < ly_sw_cs -- 统计文件的行数、单词数、字节数 << eof>
test string 1 > test string 2 > test string 3 > EOF -- 统计输入的字符串,开头自定义文本标记EOF与结尾一致#管道(|) rpm -qa | sort | more -- rpm -qa 显示软件安装包列表,然后通过管道执行sort排序,再通过管道执行more分页显示 #执行数学运算 expr expr 1 + 2 -- 3 expr 5 \* 6 -- 30,需要对*转义 expr 5 / 2 -- 2,除法运算会保留整数部分 $[数学表达式] echo $sw_cs sw_cs=$[1 * 6] echo $sw_cs -- 6 整数运算解决方式:bash计算器(bc) bc -q -- -q 命令行选项可以不显示bash计算器冗长的欢迎信息 bc -q var1=10 var1 * 4 40 scale = 4 -- scale默认是0,保留4位 var2 = var1 / 5.2 print var2 1.9230 quit -- quit退出bash计算器 在脚本中使用bc(variable=$(echo "options; expression" | bc)) echo $var1 var1=$(echo "scale=4; 3.44 / 5" | bc) echo The answer is $var1 variable=$(bc << EOF options statements expressions EOF ) -- 脚本中使用,bc支持内联重定向#退出脚本(变量$?) 退出脚本状态码为0表示命令成功退出,其他整数表示失败退出。 默认情况下,shell脚本会以脚本中的最后一个命令的退出状态码退出(略,退出状态码可以更改) echo $? -- 查看退出状态码

 

转载于:https://www.cnblogs.com/TianMu/p/11199455.html

你可能感兴趣的文章
《Linux内核分析》课程第八周学习总结
查看>>
PHP实现一个简陋的注册登录页面
查看>>
用两个栈实现队列
查看>>
2015最新--浏览器分布图
查看>>
bloom特效
查看>>
R_数据视觉化处理_中阶_05
查看>>
JavaScript的类型自动转换样例集合处
查看>>
最大公约数和最小公倍数问题
查看>>
A. 定义常量以及检测常量
查看>>
[python]socket.listen(backlog)中的backlog含义
查看>>
【《Effective C#》提炼总结】提高Unity中C#代码质量的22条准则
查看>>
详解java类的生命周期
查看>>
centos普通用户添加sudo权限
查看>>
快速搭建微信小程序开发环境
查看>>
[全文下载/试读]补充,上集Ch. 3 -- Panel控件与常用属性,范例:问卷系统,动态产生「子问题」(使用障眼法)...
查看>>
Guava学习笔记:Guava新增集合类型-Multiset
查看>>
根据入栈判断出栈是否合法
查看>>
[Algorithm]查找
查看>>
OC语法6——内存管理之引用计数器(retain,release)
查看>>
.Net学习笔记----2015-07-10(基础复习和练习09)
查看>>