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 ...
随机推荐
- spark Streaming与kafka的集成消费
Spark 2.3.3 Kafka 2.11-1.0.2 Java jdk1.8.0_191 Hbase 1.2.11 from pyspark impo ...
- 非阻塞式I/O
套接字的默认状态是阻塞的.这就意味着当发出一个不能立即完成的套接字调用时,其进程将被投入睡眠,等待相应的操作完成.可能阻塞的套接字调用可分为以下4类 (1)输入操作,包括read,readv,recv ...
- [C1W4] Neural Networks and Deep Learning - Deep Neural Networks
第四周:深层神经网络(Deep Neural Networks) 深层神经网络(Deep L-layer neural network) 目前为止我们学习了只有一个单独隐藏层的神经网络的正向传播和反向 ...
- 古来月小队 Alpha冲刺阶段博客目录
一.Scrum Meeting 第六周: 链接:https://www.cnblogs.com/ouc-xxxxxx/p/11789325.html 任务:搭建安卓编程环境,学习安卓前端知识 第七周: ...
- Python socket & socket server
socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket(套接字). 建立网络通信连接至少要一对socket.socket是对TCP/IP的封装 使用方法 ...
- 小程序-tabBar简易版
<!-- 结构 --> <view class="wrapper"> <block wx:for="{{desc}}"> & ...
- wcf callback在主线程被调用
记得当时往wcf迁移了部分service以后,tester发现有时候系统会没有任何反应,cpu占用倒是没有问题,可就是做不了事情. 感觉是哪里死锁了,但也不是每次都能再现,后来发现如果把callbac ...
- 【洛谷3515】[POI2011] Lightning Conductor(决策单调性)
点此看题面 大致题意: 给你一个序列,对于每个\(i\)求最小的自然数\(p\)使得对于任意\(j\)满足\(a_j\le a_i+p-\sqrt{|i-j|}\). 证明单调性 考虑到\(\sqrt ...
- celery分布式任务队列的使用
一.Celery介绍和基本使用 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery ...
- SQLi_Labs通关文档
SQLi_Labs通关文档 先列举一下sql基础语句 show databases; //查看数据库 use xxx; //使用某个数据库 show tables; //查看该数据库的数据表 desc ...