注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

fudq's AC Road

何以解忧,唯有AC!

 
 
 

日志

 
 

Bash 脚本  

2016-06-12 15:01:25|  分类: Bash |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
不会写 Bash 脚本的程序猿不是好的程序猿。

#输出 Hello World
echo Hello World

#变量名命名
str=abc

#变量名使用
$str

#for 循环
for i in a b c
do
    echo $i
done

#访问当前目录下所有文件
for i in *
do
    echo $i
done

#访问文件 a.txt 里所有内容
t=1
while read line
do
    echo $t $line
    ((t++))
done < a.txt

#访问指定目录 root/data 下所有文件
for i in `ls root/data`
do
    if [ -d root/data/$i] #判断是否是子文件夹
    then
        echo $i is dir
    else
        echo $i is file
    fi
done

#遍历 10 个数
for ((i=0;i<10;i++))
do
    echo $i
done

#有关字符串操作
s1=${str%_*} #从左往右,取字符串 str 中第一个 '_' 前的子串
s2=${str#*_} #从右往左,取字符串 str 中第一个 '_' 后的子串

#运行 /root/demo 里的 run.sh
/root/demo/run.sh #最前面不需要加 .

#整数和字符串比较大小:

对应的操作

整数操作

字符串操作

相同

-eq

=

不同

-ne

!=

大于

-gt

> 

小于

-lt

< 

大于或等于

-ge

 

小于或等于

-le

 

为空

 

-z

不为空

 

-n



#文件属性判断

运算符

含义( 满足下面要求时返回 TRUE 

-e file

文件 file 已经存在

-f file

文件 file 是普通文件

-s file

文件 file 大小不为零

-d file

文件 file 是一个目录

-r file

文件 file 对当前用户可以读取

-w file

文件 file 对当前用户可以写入

-x file

文件 file 对当前用户可以执行

-g file

文件 file  GID 标志被设置

-u file

文件 file  UID 标志被设置

-O file

文件 file 是属于当前用户的

-G file

文件 file 的组 ID 和当前用户相同

file1 -nt file2

文件 file1  file2 更新

file1 -ot file2

文件 file1  file2 更老


#退出
exit n
n 是退出码:
0 表示成功(Zero - Success)
非 0 表示失败(Non-Zero  - Failure)
2 表示用法不当(Incorrect Usage)
127 表示命令没有找到(Command Not Found)
126 表示不是可执行的(Not an executable)
>=128 信号产生

#运算操作
一般使用 let 和 expr 这两个指令来实现。
#变量 i 加 1 的几种写法:
((i++))
let i=$i+1
let "i = $i + 1"
i=`expr $i + 1`
if (($t%2 == 0)) #判断 t 能否被 2 整除

#LeetCode 193. Valid Phone Numbers
cat file.txt | grep -Eo '^\([0-9]{3}\) [0-9]{3}-[0-9]{4}$|^([0-9]{3}-){2}[0-9]{4}$'
  评论这张
 
阅读(68)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017