shell
循序0010
这个作者很懒,什么都没留下…
展开
-
【shell】练习- select
#!/bin/bash# select command exampleselect iterm in apple xiaomi huawei oneplus sansam vovodo echo "你选择了$iterm"done原创 2020-06-02 15:59:11 · 185 阅读 · 0 评论 -
【shell】练习- while
#!/bin/bash#echo "总共有 $# 个参数"#while [ "$1" != "" ];do# echo -n "剩下 $# 个参数"# echo ", 移除参数:$1"# shift#donewhile true ;do read -p "输入数字,猜猜大了还是小了: " num echo $num | grep -q '[^0-9]' ns=$? if [ "0" == $ns ];then echo "请输入数字.".原创 2020-06-02 15:58:13 · 329 阅读 · 1 评论 -
【shell】练习- 菜单选择 - select - case
#!/bin/sh# select && case in this scriptecho "请选择你使用的操作系统"select os in MacOS Linux Windows Unixdo case $os in Linux | Unix ) echo "使用的是高级操作系统哦" ;; Windows ) echo "使用的是微软的操作系统" ;; MacOS ) .原创 2020-05-29 09:47:46 · 375 阅读 · 0 评论 -
【shell】练习- 判断 - 正则
#!/bin/bash# it's a intvalwhile true ;doread -p "请输入 > " numif [ -z "$num" ];then echo "没有输入.."elif [[ "$num" =~ [0-9]+$ ]];then echo "数字"else echo "字符" fidone原创 2020-05-29 09:46:50 · 241 阅读 · 0 评论 -
【shell】练习- read from file
#!/bin/bash# read from file examplefilename=$1if [ $filename != "" ];then while read fileline do echo $fileline done <$filename else echo "运行脚本时,请带文件参数." fi原创 2020-05-29 09:45:51 · 376 阅读 · 0 评论 -
【shell】练习- read
#!/bin/bashecho -n "请输入姓名:"read nameecho "Hi~,你好~ ,$name"原创 2020-05-29 09:43:52 · 185 阅读 · 0 评论 -
【shell】练习- 脚本参数
#!/bin/sh# first script of shell# practise paramsecho '脚本'$0echo '接收到参数个数:'$#echo '所有的参数:'echo $@j=0for i in "$@";do echo '$'$j'==>'$i ((j++))done原创 2020-05-29 09:43:18 · 110 阅读 · 0 评论 -
【shell】练习- 双中括号-规则匹配
#!/bin/bash# 注意,双中括号是可以规则匹配 ,而单中括号是 test的简写read -p "please input the number[0~9]: " numif [[ $num =~ [0-9]+ ]] ;then echo "show your number : " $numelse echo "please input the number"fi原创 2020-05-29 09:42:13 · 654 阅读 · 0 评论 -
【shell】练习- if 判断
#!/bin/shread -p "判断文件存不存在(输入文件绝对路径): " fileif test -f $file ;then echo it\'s exsitelse echo emptyfi原创 2020-05-29 09:39:40 · 202 阅读 · 0 评论 -
【shell】练习- 三种函数定义
#!/bin/sh# function example# 1 definefunction fun(){ echo "第一种定义函数的方法." echo "获取函数的参数用\$1 ,第一参数 :"$1}# 调用fun 000sleep 2echo "==================== 我是分割线 =================="sleep 1echo "==================== 我是分割线 ==================".原创 2020-05-29 09:39:01 · 157 阅读 · 0 评论 -
【shell】练习- case
#!/bin/bash# case exampleOS=$(uname -s)case "$OS" in FreeBSD) echo "This is FreeBSD" ;; Darwin) echo "This is Mac OSX" ;; AIX) echo "This is AIX" ;; Minix) echo "This is Minix" ;; Linux) echo "This is Linux" ;; *) echo "Failed to identify.原创 2020-05-29 09:38:02 · 177 阅读 · 0 评论 -
【shell】练习脚本-数组
#!/bin/sh# array example# 严格模式,变量未定义会报错,shell默认不会set -u# 调试#set -xarray=(1 3 5 6 7 9 0 90 33 232)echo "第一个元素,索引为0开始 : "${array[0]}echo "所有的元素.用索引\${array[@]} 或是 \${array[*]} :" ${array[@]}echo "总共有${#array[@]}个元素"sleep 2echo "========.原创 2020-05-29 09:36:42 · 241 阅读 · 0 评论 -
shell 基本知识总结
#查看进程pid对应的程序ll /proc/pid_number【shell命令】echo 命令 -n 取消末尾的回车符 -e 解释引号(双引号和单引号)里面的特殊字符(比如换行符\n)echo rm * 只会打印要被删除的文件type 命令作用:判断命令的来源(外部,内置),如:type ls-t 参数,可以返回一个命令的类型:别名(alias),关键词(keyword),函数(function),内置命令(builtin)和文件(file)。模式匹配[^abc]或[!.原创 2020-05-23 17:49:54 · 670 阅读 · 0 评论 -
shell 脚本查看当前系统用户信息
#!/bin/bash#showlogged.shshownums=0showusers=0if [ $# -gt 0 ] ;then for i in $(seq 1 $#);do case $1 in -h|--help) echo "the script `basename $0` usage: -h|--help -c|--count -v|-原创 2016-11-06 10:27:57 · 5121 阅读 · 2 评论 -
Shell脚本调试
本文转自:http://www.ibm.com/developerworks/cn/linux/l-cn-shell-debug/index.html本文全面系统地介绍了shell脚本调试技术,包括使用echo, tee, trap等命令输出关键信息,跟踪变量的值,在脚本中植入调试钩子,使用“-n”选项进行shell脚本的语法检查, 使用“-x”选项实现shell脚本逐条语句的跟踪,巧妙地转载 2016-11-06 10:43:21 · 300 阅读 · 0 评论 -
再说Shell变量的定义、删除变量、只读变量、变量类型
变量的命名规则: 首个字符必须为字母(a-z,A-Z)。 中间不能有空格,可以使用下划线(_)。 不能使用标点符号。 不能使用bash里的关键字(可用help命令查看保留关键字)。变量的定义: 定义变量时,变量名不加美元符号($)使用变量: 使用一个定义过的变量,只要在变量名前面加美元符号($)访问即可注:变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变原创 2016-11-17 13:09:11 · 1219 阅读 · 0 评论 -
Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数特殊变量列表变量 含义$0 当前脚本的文件名$n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。$# 传递给脚本或函数的参数个数。$* 传递给脚本或函数的所有参数。$@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $*原创 2016-11-18 13:05:33 · 47250 阅读 · 1 评论 -
关键字算数运算
1.expr关键字格式 :expr arg如计算:(4+4)* 8分步计算,即先计算2 +3 ,再对其和乘4s=`expr 2 + 3`expr $s * 4一步完成计算: expr `expr 2 + 3 ` * 4 说明: 运算符号和参数之间要有空格分开; 通配符号(* ), 在作为乘法运算符时要用 、“” 、‘’ 符号修饰2原创 2017-01-03 13:37:39 · 307 阅读 · 0 评论 -
shell 生成随机数
用shell生成随机数的方法有很多,但生成数字随机数比较方便的方法还是以下几种:1.使用shell的内置变量$RANDOM 生成0-32767之间的整数随机数>echo $RANDOM>echo $(($RANDOM%50+1)) #随机生成从1~50之间是数2.借助时间戳>date +%s或>date +%s%N #生成19位数字,1287764807原创 2017-01-03 14:28:57 · 1916 阅读 · 0 评论 -
shell 学习一
【变量赋值】使用export和readonly来设置变量,export用于修改或打印环境变量,readonly则使得变量不得修改。语法: export name[=value] ... readonly name[=value] ...可以export/readonly时就给变量赋值,或给变量赋值后再export/readonly变量,如: export website=oseye.转载 2016-12-30 15:45:58 · 235 阅读 · 0 评论 -
shell 学习二
【字符串子集提取】${var:start:length}从start+1位置开始,截取长度为length如:截取 hello world字符串中的worldstr="hello world" ${str:5:6}【数组声明和使用】使用中括号定义:name[0]="Tom"name[1]="Tomy"name[2]="John"或使用圆括号定义:name=("Tom"原创 2016-12-30 17:35:17 · 203 阅读 · 0 评论 -
awk 学习
1.域和记录使用$1,$3表示参照第1和第3域,注意这里用逗号做域分隔。如果希望打印一个有5个域的记录的所有域,可使用$0,意即所有域。2.awk动作即打印命令,使用print3.编写格式:模式和动作任何awk语句都由模式和动作组成。在一个awk脚本中可能有许多语句。模式部分决定动作语句何时触发及触发事件。处理即对数据进行的操作。如果省略模式 部分,动作将时刻保持执转载 2017-01-12 15:31:42 · 302 阅读 · 0 评论 -
认识shell及其变量
Shell本身是一种用C语言编写的程序,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。 【shell分类】 Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/cs原创 2016-10-22 10:17:21 · 217 阅读 · 0 评论