shell脚本攻略1
换行符 \n
echo -n 禁止换行
环境变量声明export
export PATH="$PATH:/home/user/bin"
获取字符串的长度
length=${#var}
shell数学运算
let [] (()) expr
注:使用let时,变量名之前不需要$
标准输入stdin--0
标准输出stdout--1
标准错误stderr--2
读取命令返回值$? #错误并退回为非0,成功完成为0
重定向
cmd 2>stderr.txt 1>stdout.txt #分别重定向到不同文件
cmd 2>&1 alloutput.txt #1、2输出到同一文件
cmd &> output.txt #1、2输出到同一文件
/dev/null 黑洞,丢弃接收到的任何数据
cat<<EOF>log.txt
添加的内容 #新增至文件log.txt顶部
EOF
别名alias(默认临时,关闭终端则失效)
alias rm="cp $@ ~/backup && rm $@" #创建别名
echo ''alias cmd="command seq"' >> ~/.bashrc #创建永久的
unalias / alias cmd= #取消别名
time CommandOrScriptName #计算命令花费时间
sleep 30 #延迟脚本执行30s
bash -x script.sh #使用x,启用脚本跟踪调试功能
_DEBUG=on ./script.sh #调用bash内置函数,启用调试功能
$@以列表的方式一次性打印所有参数,"$1" "$2" "$3"
$*所有参数视为单个实体, "$1$2$3"
read -p "input the num:" num #两种方式一致
echo -n "input the num:"
read num
read -t 10 -p "input the num:" num #计时10s输入
read -s -p "input the num:" num #默读,输出不显示
shell脚本攻略1的更多相关文章
- Linux Shell脚本攻略 读书笔记
Linux Shell脚本攻略 读书笔记 这是一本小书,总共253页,但内容却很丰富,书中的示例小巧而实用,对我这样总是在shell门前徘徊的人来说真是如获至宝:最有价值的当属文本处理,对这块我单独整 ...
- Linux shell 脚本攻略之统计文件的行数、单词数和字符数
摘自:<Linux shell 脚本攻略>
- Linux shell 脚本攻略之创建不可修改文件
摘自:<Linux shell 脚本攻略>
- Linux shell 脚本攻略之生成任意大小的文件
摘自:<Linux shell 脚本攻略>
- Linux shell 脚本攻略之批量重命名
摘自:<Linux shell 脚本攻略>
- Linux shell 脚本攻略之文件查找与文件列表
摘自:<Linux shell 脚本攻略>
- Linux shell 脚本攻略之比较与测试
摘自:<Linux shell 脚本攻略>Page30-33
- Linux shell 脚本攻略之根据扩展名切分文件名
摘自:<Linux shell 脚本攻略>Page61-62
- Linux shell 脚本攻略之正则表达式入门
摘自:<Linux shell 脚本攻略> 下面是类似的解释:
- Linux Shell脚本攻略
-Linux Shell脚本攻略 总结的来说,这本书很实践性和实用性强,都是给的具体的例子,直接可以在终端操作实践,比单纯只看不动手务实多了,另外就是,这本书涵盖的内容也比较广,从文本操作到服务器管理 ...
随机推荐
- android webview 全屏100%显示图片
这里引用 第三方类库 implementation 'org.jsoup:jsoup:1.10.2' 定义工具类 HtmlUtils import org.jsoup.Jsoup; import or ...
- git clean解决 GIT error: The following untracked working tree files would be overwritten
git clean用法:https://www.cnblogs.com/lsgxeva/p/8540476.html :
- SQL Server 10分钟理解游标
概述 游标是邪恶的! 在关系数据库中,我们对于查询的思考是面向集合的.而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服. 正常面向集合的思维方式 ...
- 给Go程序加入编译版本时间等信息
先看效果 $./myapp -v GitCommitLog=d97d098e5bb4ad38a2a7968f273a256e10a0108f mod bininfo comment GitStatus ...
- lightGBM gpu环境配置
推荐先看一手官方的Installation Guide.我用的是ubuntu 16.04,一些要求如下图: 主要是OpenCL以及libboost两个环境的要求. (1) OpenCL的安装.我这里之 ...
- JSON数据格式:以及XML文件格式,YML文件格式,properties文件格式
JSON数据格式:以及XML文件格式,YML文件格式,properties文件格式 数据格式: json数据格式:属于轻量级数据格式,是javascript的一种描述数据的格式.具有易于解析,语法 ...
- C:\Program不是内部或外部命令,也不是可运行的程序或批处理文件。
问题描述:C:\Program不是内部或外部命令,也不是可运行的程序或批处理文件. 解决办法:C:\"Program Files"\具体文件目录. 具体场景:在cmd或者批处理文件 ...
- docker学习之路-centos下安装docker
前言 我要在云服务器上做一个asp.net core的webapi应用,使用docker来部署应用,中间用到的任何组件包括nginx和sqlserver 2017都是用docker来装载运行,所以,这 ...
- Java判断两个时间相差的天数
1.实现目标 输入:两个日期 输出:两个日期相差的天数 2.代码实现 方法1: 通过Calendar类的日期比较.注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的 ...
- 第二章 Maven 构建 Java Web项目
本教程中,我们将教给大家如何创建一个基于Spring MVC 的 Maven Web Project. 用到的技术/工具: 1.Eclipse 4.9 2.Maven 3.6.2 3.Tomcat 8 ...