[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. ...
随机推荐
- RabbitMq 开始<一>
power shell 执行: dotnet new console --name Send mv Send/Program.cs Send/Send.cs dotnet new console -- ...
- 微信小程序的wxs语法与vue计算属性
微信小程序的wxs语法 可以当做vue的计算属性和vue filter 使用.因为wxs中的函数可以写在{{ }}中 . 例如: 可用在 <view>{{ foo() }}</v ...
- Introduction to Deep Learning Algorithms
Introduction to Deep Learning Algorithms See the following article for a recent survey of deep learn ...
- Vector , list 和 deque的区别
vector 表示一段连续的内存区域,每个元素被顺序存储在这段内存中,对vector 的随机访问效率很高,但对非末尾元素的插入和删除则效率非常低. deque 也表示一段连续的内存区 ...
- js重点——作用域——内部原理(二)
本篇是深入分析和理解作用域的第一篇——内部原理和工作模型. 我们知道作用域是变量,对象,函数可访问的一个范围.这说明了我们需要一套良好的规则来存储变量,之后方便查找.所以我们首先要理解的是在哪里而且怎 ...
- ORACLE和SQL查询库数据量
ORACLE根据账号查询每张表数据量: select t.table_name,t.num_rows from user_tables t ORDER BY NUM_ROWS DESC; SQL SE ...
- 如何提高后台服务应用问题的排查效率?日志 VS 远程调试
转眼间,距离Jerry最近一篇文章推送已经过去了一个多月的时间了. 公众号更新的频率降低,不是因为Jerry偷懒,而是由于从春节过后,我所在的SAP成都研究院数字创新空间整个团队,一直在忙一个5月份需 ...
- 12.SpringMVC核心技术-请求转发和重定向
默认情况下,跳转到指定的View,使用的是请求转发.也可以显示的进行指出 此时,需在setViewName() 指定的视图前添加 forword: , 且此时的视图不会再与视图解析器中的前缀和后缀进 ...
- 【异常】ERROR main:com.cloudera.enterprise.dbutil.SqlFileRunner: Exception while executing ddl scripts. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'ROLES' already exists
1 详细异常 2019-10-11 10:33:55,865 INFO main:com.cloudera.server.cmf.Main: ============================= ...
- python基础:数据类型阶段总结
name =“ alex”1.移除name变量对应的值两边的空格,并输出处理结果 res=name.strip(’ ‘) print(res) 2.判断neme变量对应的值是 ...