Shell笔记
发布时间:2020-12-13 22:28:06 所属栏目:Linux 来源:网络整理
导读:#!/bin/ bashvar2 = ' var2 ' echo $var2 ${var2}var2 = var2_1 ' #变量可以重复定义但变量名前不加$var3 = var3 readonly var3 #将var3声明为只读变量#var3 = var3_1 这里就不能再改变var3的值了var4 = var4 unset var4 #删除var4变量# ${var4} 这里不能再
#!/bin/bash var2 = 'var2' echo $var2 ${var2} var2 = var2_1' #变量可以重复定义但变量名前不加$ var3 = var3 readonly var3 #将var3声明为只读变量 #var3 = var3_1 这里就不能再改变var3的值了 var4 = var4 unset var4 #删除var4变量 # ${var4} 这里不能再调用var4了 var5 = var5 var6 = "This is ${var5}" #拼接字符串 var7 = This is "$var5,too #拼接字符串 var8 = itvar8 ${#var8} #输出var8的长度,即输出6 var9 = Hello World!echo ${var9:1:5} #从字符串第2个字符开始截取5个字符 var10 = echo `expr index $var10 World` #查找字符World在字符串中的位置 arr1 = (var1' ) #定义数组方式1 arr2 = ( #定义数组方式2 ' ) var3[1] = #通过下标赋值 var_arr_1 = ${var2[1]} #读取数组元素 var_arr_all = ${var2[@]}#读取所有元素 arr_lend_1 = ${#var2[@]} #获取数组长度 arr_lend_2 = ${#var2[*]} #获取数组长度 向脚本传递参数 #!/bin/bash echo 执行的文件名$0; 第一个参数为$1第二个参数为$2"; ? 运行: $ chmod +x shell.sh $ ./shell.sh 1 2 执行的文件名shell. 第一个参数为1 第二个参数为2 特殊参数: 参数处理 说明 $# 传递到脚本的参数个数 $* 以一个单字符串显示所有向脚本传递的参数。 如$*"用「」括起来的情况、以"$1 $2 … $n的形式输出所有参数。 $$ 脚本运行的当前进程ID号 $! 后台运行的最后一个进程的ID号 $@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。 如$@1" 2 … "$n 的形式输出所有参数。 $- 显示Shell使用的当前选项,与set命令功能相同。 $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
算术运算: 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,比如awk和expr #!/bin/bash a=10 b=20 val=`expr $a + $b` a + b : $val" ? 文件测试运算符: -r file :文件是否可读 -w file: 文件是否可写 -x file: 文件是否可执行 file=/workplace/shell/shell.sh" if [ -r $file ] then 文件可读else 文件不可读fi if [ -w $文件可写文件不可写if [ -x $文件可执行文件不可执行fi ? echo命令: #!/bin/bash read name #read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量 $name Hello World" > myfile #显示结果定向至文件 ? 流程控制: if的语法: if condition1 then command1 elif condition2 command2 else commandN fi for的语法: for var in item1 item2 ... itemN do command1 command2 ... commandN done while的语法: while condition command done 例: #!/bin/sh int=1 while(( $int<= )) do echo $int let int++done case的语法: 输入 1 到 4 之间的数字:你输入的数字为: read aNum case $aNum in 1) 你选择了 1 ;; 2) 你选择了 23) 你选择了 34) 你选择了 4 ;; *) 你没有输入 1 到 4 之间的数字 ;; esac
函数 funWithParam(){ 第一个参数为 $1 !" 第二个参数为 $2 !第十个参数为 $10 !第十个参数为 ${10} !第十一个参数为 ${11} !参数总数有 $# 个!作为一个字符串输出所有参数 $* ! } funWithParam 2 3 4 5 6 7 8 9 34 73 ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- linux – 将默认numa策略设置为“交错”系统范围
- 是否有适用于Linux的FIPS-140-2认证解决方案?
- 在os x lion上安装新的tmux会返回“git:Permission denied
- 如何在linux中处理具有固定宽度列的文件
- Linux系统组成及内核功能
- ubuntu/linux Sorry, user xxx is not allowed to execute
- 红米6.0系统如何无root激活xposed框架的教程
- LINUX教程:Ubuntu 16.04出现:“Failed to start /etc/rc.
- 如何从库中获取地址信息以在所有进程之间共享?
- lsof – 在某个文件上开启跟踪