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

基础shell小技巧01

1. 命令替换

shell脚本中最有用的特性之一是可以从命令输出中提取信息并将其赋给变量。把输出赋给变量之后,就可以随意在脚本中使用了。在脚本中处理数据时,这个特性显得尤为方便。

有两种方法可以将命令输出赋给变量。

·反引号(`)

·$()格式

# !/bin/bashtesting=$(date)
echo "the date and time are:"$testing

2. 输出重定向

最基本的重定向会将命令的输出发送至文件。bash shell使用大于号(>)来实现该操作:

command > outputfile
# 下面是demo
date > date.txt

如果输出文件已存在,则重定向运算符会用新数据覆盖已有的文件。

有时,你可能并不想覆盖文件原有内容,而是想将命令输出追加到已有文件中,例如,你正在创建一个记录系统操作的日志文件。在这种情况下,可以用双大于号(>>)来追加数据。

3. 输入重定向

输入重定向和输出重定向正好相反。输入重定向会将文件的内容重定向至命令,而不是将命令输出重定向至文件。

输入重定向运算符是小于号(<):

command < inputfile
# 下面是demo
wc < date.txt

4. 管道

有时候,你需要将一个命令的输出作为另一个命令的输入。这可以通过重定向来实现,只是略显笨拙。

这种方法的确管用,但仍然是一种比较烦琐的信息生成方式。无须将命令输出重定向至文件,可以将其直接传给另一个命令。这个过程称为管道连接(piping)。

command1 | command2
# 下面是demo
ps -ef | grep 'java'

首先用ps -ef查看所有进程信息并将此作为参数传递给grep命令,从中查询java进程。

http://www.lryc.cn/news/138020.html

相关文章:

  • 微信小程序--data的赋值与取值的几种方式
  • 条码通讯配置
  • 知网G4期刊《高考》简介及投稿要求
  • 第7章 CPU前端优化
  • idea新建Java-maven项目时,出现Dependency‘xxx(jar包名)‘ not found的解决方案
  • STM32--USART串口
  • 2023年Java毕业设计题目推荐,怎样选题?500道毕业设计题目推荐
  • 基于数据湖的多流拼接方案-HUDI概念篇
  • OpenCV基础知识(5)— 几何变换
  • Linux下源码安装MySQL 8.0
  • 大聪明教你学Java | 深入浅出聊 Java 内存模型
  • SAP ABAPG开发屏幕自动生成日期的搜索帮助
  • leetcode 674. 最长连续递增序列
  • Mysql简短又易懂
  • vue 简单实验 v-model 变量和htm值双向绑定
  • 测试框架pytest教程(8)失败重试-pytest-rerunfailures
  • 6个主流的工业3D管道设计软件
  • 基于微信小程序的垃圾分类系统设计与实现(2.0 版本,附前后端代码)
  • 基础论文学习(4)——CLIP
  • SpringBoot利用ConstraintValidator实现自定义注解校验
  • 十、pikachu之php反序列化
  • PHP“牵手”拼多多商品详情数据获取方法,拼多多API接口批量获取拼多多商品详情数据说明
  • 前端面试:【Redux】状态管理的精髓
  • element-ui中的el-table的summary-method(合计)的使用
  • “深入探索JVM:解析Java虚拟机的工作原理与性能优化“
  • 【后端】Core框架版本和发布时间以及.net 6.0启动文件的结构
  • Linux 定时任务 crontab 用法学习整理
  • 看板之道:如何利用Kanban优化您的项目流程
  • Docker的基础操作
  • 14、缓存预热+缓存雪崩+缓存击穿+缓存穿透