赋值

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]常用语法的更多相关文章

  1. shell常用语法

    for.if条件: https://blog.51cto.com/qiufengsong/1252889 一.for循环: );do echo $i done ###第一行:seq是指1到10,第二行 ...

  2. linux shell常用语法

    特殊变量 $0 当前脚本的文件名$n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数是$1,第二个参数是$2.$# 传递给脚本或函数的参数个数.$* 传递给脚本或函数的所有参 ...

  3. 【shell 大系】Linux Shell常用技巧

    在最近的日常工作中由于经常会和Linux服务器打交道,如Oracle性能优化.我们数据采集服务器的资源利用率监控,以及Debug服务器代码并解决其效率和稳定性等问题.因此这段时间总结的有关Linux ...

  4. Linux Shell常用技巧(目录)

    Linux Shell常用技巧(一) http://www.cnblogs.com/stephen-liu74/archive/2011/11/10/2240461.html一. 特殊文件: /dev ...

  5. PHP中Smarty引擎的常用语法

    PHP中Smarty引擎的常用语法 输出今天的日期: {$smarty.now|date_format:"%H:%M %A, %B %e, %Y"} 实际上用到了PHP的time( ...

  6. saltstack常用语法

    一.常用语法 1.添加用户 示例1: #添加zabbix用户和组 zabbix: group.present: - name: zabbix - gid: 1001 user.present: - f ...

  7. Shell脚本语法---在Makefile等文件…

    1. Shell脚本语法 1.1. 条件测试:test [ 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假,则命令的Exit Sta ...

  8. Shell的语法

    Shell的语法: 变量:字符串.数字.环境和参数: 条件:shell中的布尔值: 程序控制:if.elif.for.while.until.case: 命令列表: 函数: Shell内置命令: 获取 ...

  9. 1、uiautomator2常用语法

    uiautomator2常用语法 连接设备 使用USB连接: d=u2.connect_USB('148b4090')输入手机序列号 d是给当前连接设备定位一个变量 获取设备的信息: print(d. ...

随机推荐

  1. RabbitMq 开始<一>

    power shell 执行: dotnet new console --name Send mv Send/Program.cs Send/Send.cs dotnet new console -- ...

  2. 微信小程序的wxs语法与vue计算属性

    微信小程序的wxs语法 可以当做vue的计算属性和vue filter 使用.因为wxs中的函数可以写在{{   }}中 . 例如: 可用在 <view>{{ foo() }}</v ...

  3. Introduction to Deep Learning Algorithms

    Introduction to Deep Learning Algorithms See the following article for a recent survey of deep learn ...

  4. Vector , list 和 deque的区别

     vector   表示一段连续的内存区域,每个元素被顺序存储在这段内存中,对vector   的随机访问效率很高,但对非末尾元素的插入和删除则效率非常低.  deque    也表示一段连续的内存区 ...

  5. js重点——作用域——内部原理(二)

    本篇是深入分析和理解作用域的第一篇——内部原理和工作模型. 我们知道作用域是变量,对象,函数可访问的一个范围.这说明了我们需要一套良好的规则来存储变量,之后方便查找.所以我们首先要理解的是在哪里而且怎 ...

  6. ORACLE和SQL查询库数据量

    ORACLE根据账号查询每张表数据量: select t.table_name,t.num_rows from user_tables t ORDER BY NUM_ROWS DESC; SQL SE ...

  7. 如何提高后台服务应用问题的排查效率?日志 VS 远程调试

    转眼间,距离Jerry最近一篇文章推送已经过去了一个多月的时间了. 公众号更新的频率降低,不是因为Jerry偷懒,而是由于从春节过后,我所在的SAP成都研究院数字创新空间整个团队,一直在忙一个5月份需 ...

  8. 12.SpringMVC核心技术-请求转发和重定向

    默认情况下,跳转到指定的View,使用的是请求转发.也可以显示的进行指出 此时,需在setViewName()  指定的视图前添加 forword: , 且此时的视图不会再与视图解析器中的前缀和后缀进 ...

  9. 【异常】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: ============================= ...

  10. python基础:数据类型阶段总结

    name =“   alex”1.移除name变量对应的值两边的空格,并输出处理结果      res=name.strip(’  ‘)      print(res) 2.判断neme变量对应的值是 ...