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 ...
随机推荐
- Day_05
01.error接口的使用 package main import "fmt" import "errors" func main() { //var err1 ...
- LR11录制手机/pad App脚本多种方法介绍(Mobile App补丁包)
总体来说,通过LR录制手机脚本的方式有三种:1)通过代理方式录制,保证手机电脑在同一个网段:2)通过抓包录制,在手机上安装Mobile Recorder:3)通过安卓模拟器录制,本地安装android ...
- (三)Amazon Lightsail 部署LAMP应用程序之连接到Lightsail数据库
连接到Lightsail数据库 简介:应用程序的Web前端的第一次迭代不建议固有的可伸缩性,因为数据库和前端位于同一台机器,只需要额外的前端容量,添加额外的数据库实例就会出现问题,若想解决此问题,需要 ...
- 在Rust中,cargo使用国内镜像源
一个编程语言依赖包管理的普通问题. cargo解决得比较优雅. 一,新建$HOME/.cargo/config文件 [source.crates-io] registry = "https: ...
- poppler
https://github.com/freedesktop/poppler http://www.openjpeg.org/ https://github.com/uclouvain/openjpe ...
- 重构与模式 (Joshua Kerievsky 著)
第1章 本书的写作缘由 第2章 重构 第3章 模式 第4章 代码坏味 第5章 模式导向的重构目录 第6章 创建 第7章 简化 第8章 泛化 第9章 保护 第10章 聚集操作 第11章 实用重构 参考文 ...
- QTreeWidgetItem清空子节点
下面列出,xxbs遇到的注意点儿: 1. QTreeWidget::collapseAll(); //xxbs::先折叠所有根项. 如果某个根是展开的,先删除根的子项再折叠,展开的凸显状态角色无法清除 ...
- torch_12_dataset和dataLoader,Batchnormalization解读
参考博客https://blog.csdn.net/qq_36556893/article/details/86505934 深度学习入门之pytorch https://github.com/L1a ...
- python asyncio 关闭task
import asyncio import time async def get_html(sleep_times): print("waiting") await asyncio ...
- 【UOJ#61】【UR #5】怎样更有力气(最小生成树)
[UOJ#61][UR #5]怎样更有力气(最小生成树) 题面 UOJ 题解 最最最暴力的想法是把所有边给处理出来然后跑\(MST\). 考虑边权的情况,显然离线考虑,把么一天按照\(w_i\)进行排 ...