Shell脚本(2)
命令替换:
Shell脚本可以从命令输出中提取信息,并将其赋给变量
方法:
1.反引号字符:`
2.格式:$()
例子:#/bin/bash
test=$(date)
echo "the date and time are:" $test
输出输入重定向:
将命令输出的内容重定向到文件中
方法:
1.输出重定向:>(重定向到文件中,如果输出文件已存在,则覆盖原文件);
>>(重定向到文件中,追加到文件末尾)
2.输入重定向:<(将文件内容重定向到输入命令中);
3.内联输入重定向:<<(必须指定一个文本标记来划分输入数据的开始和结尾,任何字符串都可以作为文本标记,但是数据的开头和结尾的文本标记必须一致)
执行数学运算:
方法:
1.使用expr命令:

例子:expr 1+2
对于一些在Shell中另有含义的字符如:*,则需要用\进行转义
2.使用方括号:
使用美元符号$和方括号[]把需要计算的式子括起来,使用这种方法时,方括号中不需要用转义符号\
例子:var=$[1+2]
3.bc计算器的用法:
bash计算器能识别:
1.变量
2.注释
3.表达式
4.数字
5.编程语句
6.函数
bash计算器显示浮点数
使用scale设置显示小数点后的位数(scale默认值为0)
例子(显示小数点后面4位数):scale=4
退出bc计算器:quit
4.bc计算器在Shell中如何使用
例子:variable=$(echo "options;expression"|bc) //如果需要传递不止1个变量,需要用分号(;)将其隔开
5.如何处理大量运算
例子:variable=$(bc<<EOF
options
statements
expressions
EOF
)
退出脚本
Shell中的每个命令都用退出状态码来告诉Shell命令执行完毕,退出状态码是一个0~255的值,当命令结束运行时会由命令传给Shell。可以捕获这个值并且在脚本中使用
Linux中提供一个专门的变量$?来保存上一个已经执行完的命令状态码
命令运行成功时的退出状态码是0,命令运行出现错误,退出状态码则为正数
命令状态码数值含义如下:

exit命令允许你在脚本结束时指定退出状态码
Shell脚本(2)的更多相关文章
- 第一个shell脚本
打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好. #!/bin/bash echo "Hello World !" &quo ...
- 使用C#给Linux写Shell脚本
在这个逼格决定人格,鄙视链盛行的年头,尤其是咱们IT界,请问您今天鄙视与被鄙视的次数分别是多少?如果手中没有一点压箱的本事,那就只有看的份了.今天我们也要提升下自己的格调,学习些脑洞大开的东西,学完之 ...
- shell脚本规划化模板
shell脚本规划化模板 Linux运维过程中,shell脚本是不可缺少的工具,但是每个运维人员编程的习惯都不一样,很多时候就是实现某个功能,写出来的脚本都是烂七八糟的.脚本必须规范化,应该从以后几个 ...
- Shell脚本编程30分钟入门
Shell脚本编程30分钟入门 转载地址: Shell脚本编程30分钟入门 什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_t ...
- Linux Shell脚本逻辑操作符简介
在写程序时,会用到条件判断,测试条件是否成立.很多时候,判断条件是多个的,这个时候需要用到逻辑操作符.shell脚本中常用的有哪些逻辑操作符呢? 1.逻辑与: -a 格式: conditon1 -a ...
- Linux shell脚本编程(三)
Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...
- Linux shell脚本编程(二)
Linux shell脚本编程(二) 练习:求100以内所有偶数之和; 使用至少三种方法实现; 示例1: #!/bin/bash # declare -i sum=0 #声明一个变量求和,初始值为0 ...
- Linux shell脚本编程(一)
Linux shell脚本编程: 守护进程,服务进程:启动?开机时自动启动: 交互式进程:shell应用程序 广义:GUI,CLI GUI: CLI: 词法分析:命令,选项,参数 内建命令: 外部命令 ...
- 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器
本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...
- shell 脚本之循环使用 for while 详解
任何一种编程语言中循环是比不可少的,当然 shell 脚本也少不了循环语句,包括 for 语句. while 语句.文中主要以实际用例来说明 for while 都有哪些常见的使用方法和技巧. 一.f ...
随机推荐
- 封装查找元素以及集成日志输出,Base模块
关于查找元素封装,Base模块 """ Selenium 封装基类 封装查找元素以及集成日志输出 """ from HTMLReport i ...
- golang数据结构和算法之DoublyLinkedList双向链表
双向链表比起单向链表, 多了一个向前指向的指针, 所以在增删查改时,要同时照顾到两个指针的指向. DoublyLinkedList.go package DoublyLinkedList //双向链表 ...
- [转] 从零推导支持向量机 (SVM)
原文连接 - https://zhuanlan.zhihu.com/p/31652569 摘要 支持向量机 (SVM) 是一个非常经典且高效的分类模型.但是,支持向量机中涉及许多复杂的数学推导,并需要 ...
- IDEA取消SVN关联 , 在重新分享项目
IDEA取消SVN关联,在重新分享项目 安装插件 1.打开Intellij中工具栏File的setting(ctrl+alt+s),选择plugins,在右边搜索框输入“SVN”,搜索.选择“ ...
- <Binary Search> 81 (高频)34 (很难hard, 高频)315 (hard)354
81. Search in Rotated Sorted Array II 如果中间的数小于最右边的数,则右半段是有序的,若中间数大于最右边数,则左半段是有序的.而如果可以有重复值,就会出现来面两种情 ...
- Codeforces Round #575 (Div. 3) D2. RGB Substring (hard version) 水题
D2. RGB Substring (hard version) inputstandard input outputstandard output The only difference betwe ...
- Jenkins安装第一个插件和通过离线安装包进行安装
1.打开左侧Manage Jenkins 选择Manage Plugins菜单 2.搜索Folders插件,该插件用于创建一个目录 3.点击安装进入插件安装状态,Jenkins会自动下载相关联的插件 ...
- Python连载32-多线程其他属性以及继承Thread类
一.线程常用属性 1.threading.currentThread:返回当前线程变量 2.threading.enumerate:返回一个包含正在运行的线程的list,正在运行的线程指的是线程启动后 ...
- centos 安装python3.7
先安装依赖包: yum -y install bzip2 bzip2-devel ncurses openssl openssl-devel openssl-static xz lzma xz-dev ...
- js生成条形码
生成条形码 <body> <div> <img id="ma"/> </div> </body> </html&g ...