[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. ...
随机推荐
- redhad 7.0更换yum源
1. 卸载红帽yum源 rpm –e $(rpm –qa|grep yum) --nodeps 2.删除所有repo相关文件 rm –rf /etc/yum.conf rm –rf /etc/yum ...
- asp.net 简单的身份验证
1 通常我们希望已经通过身份验证的才能够登录到网站的后台管理界面,对于asp.net 介绍一种简单的身份验证方式 首先在webconfig文件中添加如下的代码 <!--身份验证--> &l ...
- wireshark 分析过滤数据
1.过滤IP,如来源IP或者目标IP等于某个IP例子:ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107或者ip.addr eq 192.168.1. ...
- 解决WinForm屏幕缩放适配只需修改两个Form的两个属性
最近要做一个windows下截屏识别文字的程序,调试发现截取的图像显示不完整. 输出了Screen.PrimaryScreen.Bounds.Width获取的值,结果与实际分辨率不同,所以确定了与我的 ...
- insmod: can't insert 'xxx.ko': unknown symbol in module, or unknown parameter
手动加载内核模块时候,报如下错误信息 insmod: can't insert 'xxx.ko': unknown symbol in module, or unknown parameter 问题原 ...
- Linux 硬盘UUID相同处理方法
OVF模板部署的linux虚拟机磁盘id是相同的,当同一个模板生成的虚拟机挂载虚拟机磁盘时就会遇到两个磁盘UUID相同的情况,导致系统启动后只能识别一个磁盘.这里介绍一下LVM分区的磁盘UUID相同的 ...
- 在线p图网址
在线P图网址 如果你是简易的P图,不用那么麻烦的去下载安装Photoshop,可以使用以下网址在线编辑 https://www.uupoop.com/ps/?hmsr=ps_menu
- MongoDB安全运维
0×00 MongoDB权限介绍 1.MongoDB安装时不添加任何参数,默认是没有权限验证的,登录的用户可以对数据库任意操作而且可以远程访问数据库,需以–auth参数启动. 2.在刚安装完毕的时候M ...
- 【LOJ6671】EntropyIncreaser 与 Minecraft
Orz lbt Description https://loj.ac/problem/6671 Solution
- Centos6系统启动流程
Centos6系统启动流程 一.CentOS 5和6的启动流程 Linux内核:存在于/boot分区,是整个操作系统的最底层,它负责整个硬件的驱动,以及提供各种系统所需的核心功能,包括防火墙机制. ...