换行符 \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的更多相关文章

  1. Linux Shell脚本攻略 读书笔记

    Linux Shell脚本攻略 读书笔记 这是一本小书,总共253页,但内容却很丰富,书中的示例小巧而实用,对我这样总是在shell门前徘徊的人来说真是如获至宝:最有价值的当属文本处理,对这块我单独整 ...

  2. Linux shell 脚本攻略之统计文件的行数、单词数和字符数

    摘自:<Linux shell 脚本攻略>

  3. Linux shell 脚本攻略之创建不可修改文件

    摘自:<Linux shell 脚本攻略>

  4. Linux shell 脚本攻略之生成任意大小的文件

    摘自:<Linux shell 脚本攻略>

  5. Linux shell 脚本攻略之批量重命名

    摘自:<Linux shell 脚本攻略>

  6. Linux shell 脚本攻略之文件查找与文件列表

    摘自:<Linux shell 脚本攻略>

  7. Linux shell 脚本攻略之比较与测试

    摘自:<Linux shell 脚本攻略>Page30-33

  8. Linux shell 脚本攻略之根据扩展名切分文件名

    摘自:<Linux shell 脚本攻略>Page61-62  

  9. Linux shell 脚本攻略之正则表达式入门

    摘自:<Linux shell 脚本攻略> 下面是类似的解释:

  10. Linux Shell脚本攻略

    -Linux Shell脚本攻略 总结的来说,这本书很实践性和实用性强,都是给的具体的例子,直接可以在终端操作实践,比单纯只看不动手务实多了,另外就是,这本书涵盖的内容也比较广,从文本操作到服务器管理 ...

随机推荐

  1. TCP、UDP和HTTP区别详解

    http:是用于www浏览的一个协议.tcp:是机器之间建立连接用的到的一个协议. 1.TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层.在网络层有IP协议.ICMP协议.ARP协议.R ...

  2. 【CSP2019】题解合集

    诈个尸 先挖坑 虽然连去都没去但还是想做做 今年貌似比去年还毒瘤啊... yrx.hjw都进了省队线tql orz (myh:没AK真丢脸 Day1T1 格雷码 Day1T2 括号树 Day1T3 树 ...

  3. Beta冲刺(2/7)——2019.5.24

    作业描述 课程 软件工程1916|W(福州大学) 团队名称 修!咻咻! 作业要求 项目Beta冲刺(团队) 团队目标 切实可行的计算机协会维修预约平台 开发工具 Eclipse 团队信息 队员学号 队 ...

  4. JVM常用命令和性能调优建议 [Could not create the Java virtual machine]

    一.查看jvm常用命令jinfo:可以输出并修改运行时的java 进程的opts. jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号. ...

  5. Github 上的个人项目开源心得

    原文链接 https://elfgzp.cn/2019/12/09/gortal-site-project 由于最近在 Github 发了一个个人开源项目 - 「gortal」一个使用 Go 语言开发 ...

  6. [Atcoder AGC029C]Lexicographic constraints

    题目大意:给定$n$个字符串的长度$a_i$,问至少用几种字符可以构造出字符串$s_1\sim s_n$,满足$|s_i|=a_i$且$s_1<s_2<\cdots<s_n$. $ ...

  7. Java.util.Math类--数学相关的工具类

    Math类--数学相关的工具类 java.util.Math类是数学相关的工具类,里面提供了大量的静态方法,完成与数学运算相关的操作. public static double abs(double ...

  8. C# - Array.Sort()方法

    Array类简介 Array类是C#中所有数组的基类.我们常用的[]声明数组即为Array类的语法,我们可通过Array类提供的各种方法对C#中数组进行操作.最典型的就是数组排序 Array.Sort ...

  9. Android开发DDMS找不到Emulator Control的方法

    1.右键DDMS,点击reset. 2.window->show view->other->android->Emulator Control

  10. 关于VS2019使用Git时遇到的Bug

    最近在运行vs2017时老是卡死,神烦!迫于无奈我从微软官网下载了vs2019,安装后打开项目,发现从git上拉取代码时报错如下: Please make sure you have the corr ...