[Shell]常用语法
赋值
FILE=$1 //=两边不能有空格
echo $FILE
逻辑判断
表达式
、if [ expression ]; then ... fi //[]两边必须有空格
、 if [[ expression ]]; then ... fi
、
if expression1 -o expression2; then
elif expression; then
else
fi 组合判断条件
-a: and
-o: or
!: 非 命令间逻辑关系
&& || //和其他语言意义一致 eg1: 判断a大于b并且小于c
、 if (( a > b )) && (( a < c ))
、 if [[ $a > $b ]] && [[ $a < $c ]]
、 if [ $a -gt $b -a $a -lt $c ]
| -eq | == |
| -ne | != |
| -gt | > |
| -ge | >= |
| -lt | < |
| -le | <= |
| -z string | 字符是否为空,空为真,非空为假 |
| -n string | 是否为不空,空为假 非空为真 |
| -e FILE | 文件是否存在 |
| -f file | 文件是否为普通文件 |
| -d file | 是否为目录 |
| -r file | 文件对当前用户是否可读 |
| -w file | 文件对当前用户是否可写 |
| -x file | 文件对当前用户是否可执行 |
| -z | 是否为空 为空则为真 |
| -a | 是否不空 不空为真 |
循环
# for
for((i=;i<=;i++))
do
sth
done for i in $(seq ) for i in {..} awk 'BEGIN{for(i=1; i<=10; i++) print i}' for i in `ls`; for i in f1 f2 f3 ; list="GOD always love you!"
for i in $list; for file in /bin/*; do
echo $line
done # while
while true
do
sth
done #switch
case $char in
[A-Z][a-z])
sth
;;
[0-9])
sth
;;
*)
sth
esac
文本读写
for line in `cat filename`
do
echo $line
done
for line in $(cat filename)
do
echo $line
done
while read -r line #-r选项保证读入的内容是原始的内容,意味着反斜杠转义的行为不会发生
do
echo $line
done < filename
远程访问
ssh faith@$ip "grep 'DecodeBlob Error' /data/datac20181106/GameServer*/ERROR/*.log
Note
$? 上个命令执行成功,则为0,否则为1-255间的一个
$# 传参个数
$n 参数值
((exp)) exp可以不加$引用
set -e 发生错误立刻退出
sh -n ***.sh 检查shell语法
//判断上个命令执行是否成功
raise() {
if [ $? != ]; then echo "$1"; exit ;fi
}
[Shell]常用语法的更多相关文章
- shell常用语法
for.if条件: https://blog.51cto.com/qiufengsong/1252889 一.for循环: );do echo $i done ###第一行:seq是指1到10,第二行 ...
- linux shell常用语法
特殊变量 $0 当前脚本的文件名$n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数是$1,第二个参数是$2.$# 传递给脚本或函数的参数个数.$* 传递给脚本或函数的所有参 ...
- 【shell 大系】Linux Shell常用技巧
在最近的日常工作中由于经常会和Linux服务器打交道,如Oracle性能优化.我们数据采集服务器的资源利用率监控,以及Debug服务器代码并解决其效率和稳定性等问题.因此这段时间总结的有关Linux ...
- Linux Shell常用技巧(目录)
Linux Shell常用技巧(一) http://www.cnblogs.com/stephen-liu74/archive/2011/11/10/2240461.html一. 特殊文件: /dev ...
- PHP中Smarty引擎的常用语法
PHP中Smarty引擎的常用语法 输出今天的日期: {$smarty.now|date_format:"%H:%M %A, %B %e, %Y"} 实际上用到了PHP的time( ...
- saltstack常用语法
一.常用语法 1.添加用户 示例1: #添加zabbix用户和组 zabbix: group.present: - name: zabbix - gid: 1001 user.present: - f ...
- Shell脚本语法---在Makefile等文件…
1. Shell脚本语法 1.1. 条件测试:test [ 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假,则命令的Exit Sta ...
- Shell的语法
Shell的语法: 变量:字符串.数字.环境和参数: 条件:shell中的布尔值: 程序控制:if.elif.for.while.until.case: 命令列表: 函数: Shell内置命令: 获取 ...
- 1、uiautomator2常用语法
uiautomator2常用语法 连接设备 使用USB连接: d=u2.connect_USB('148b4090')输入手机序列号 d是给当前连接设备定位一个变量 获取设备的信息: print(d. ...
随机推荐
- C# 将一种类型的数组转化为另一种类型的数组
//字符串数组(源数组) "}; //整型数组(目标数组) int[] iNums; //转换方法 iNums = Array.ConvertAll<string, int>(s ...
- DSN 建立达梦7(DM)连接
(DSN)Data Source Name 数据源名称 “ODBC数据源管理器”提供了三种DSN,分别为用户DSN.系统DSN和文件DSN.其中: 用户DSN会把相应的配置信息保存在Wind ...
- git 报错fatal: not a git repository (or any of the parent directories): .git
产生原因:一般是没有初始化git本地版本管理仓库,所以无法执行git命令 解决方法:操作之前执行以下命令行: git init 初始化git,即可解决:
- vue.js devtools图标不亮
第一步:打开谷歌扩展程序 第二步:设置允许访问文件地址
- 微信小程序异步回调
场景如下:现有一个方法需要等待其他N个异步函数执行完毕后执行,callback麻烦的头大,翻了一波API原来小程序已经支持 async函数,那一切就好办了. 废话不多说,直接开始撸... 第一步:打开 ...
- # 机器学习算法总结-第五天(降维算法PCA/SVD)
- java之JVM学习--简单理解编译和运行的过程之概览
java代码编译流程图: java字节码执行由JVM执行引擎完成 Java代码编译和执行的整个过程包含了以下三个重要的机制: Java源码编译机制 类加载机制 类执行机制 Java源码编译机制 Jav ...
- 关于iReport5.6.0无法正常启动或者闪退或者JDK8不兼容的解决方案
参考网址: https://blog.csdn.net/erlian1992/article/details/76359191?locationNum=6&fps=1 说白了 ,即 jaspe ...
- 8.Spring整合Hibernate_2_声明式的事务管理(Annotation的方式)
声明式的事务管理(AOP的主要用途之一) (Annotation的方式) 1.加入annotation.xsd 2.加入txManager bean 3.<tx:annotation-drive ...
- 10.自定义EL函数和自定义标签
需要在JSP页面中进行一些常见逻辑操作(如对字符串进行操作),首先考虑是否可以用到sun公司提供的EL函数库(fn.tld)和JSTL 核心标签库 如果sun公司的EL函数库没有或者无法满足,就需要自 ...