SHELL脚本的语法知识2

①shell的数值计算

  $[[ 空格]$a[空格 ]operator[空格]$b[空格]]

  计算时操作符及其操作数必须要用方括号[]括起来,然后用$作为前导符,[空格]表示此处空格可有可无

  eg:  ` a=2;b=3;echo $[ $a + $b] `  #屏幕输出 5

②脚本运行时与用户的交互

  ` read  x `  

  程序运行到此处时会暂停并提示用户输入数值,用户输入完毕并回车后,程序将用户输入的值赋给x,x为任意变量名

  eg:  ` read x `

  ` read -p "please enter a number: " y `

  程序运行到此处时,屏幕打印"please enter a number:"并等待用户输入,用户输入完毕并回车后,程序将用户输入的值赋给y,y为任意变量名

③脚本运行的参数

  ` ./test.sh Ferir 24 `

  执行脚本时可以给脚本添加参数,第一个参数为Ferir,在脚本中用$1获取,第二个参数为24,在脚本中用$2获取,参数个数无限,在脚本中通过$+参数位数获取

备注:$0为脚本名称

④if-elif-elif-else-fi

  if-fi

  ` if(($a > 30));then echo $a;fi `       or  ` if [ $a -gt 30 ];then echo $a;fi `

  if-else-fi

  ` if(($a = 30));then echo $a;else echo 30;fi `  or  ` if [ $a -eq 30 ];then echo $a;else echo 30;fi `

  if-elif-elif-else-fi

  ` if(($a > 30)) && (($a = 30));then echo $a;elif(($a > 20)) || (($a = 20));then echo $[$a+1];else echo ‘Sorry‘;fi `

备注:如果用方括号[]包裹条件,则if 与 [之间、操作数与[ 、]之间必须有空格
  > *** -gt  = *** -eq  >= *** -ge  <= *** -le  < *** -lt  != *** -ne

  if 判断文档属性

  ` if [ -defrwx filename ] `  -d 存在&&目录  -e 存在  -f 存在&&普通文件  -r 可读  -w 可写  -x 可执行

⑤case $a in value1) command;; value2) command;; value3) command;; *) command;; esac

  ` read -p ‘Please input a number: ‘ a;

     case $[ $a%2 ] in

    0)

      echo "The number is even!";;

    1)

      echo "The number is odd!";;

    *)

      echo "This is impossible!";;

     esac `

时间: 2024-10-07 23:35:41

SHELL脚本的语法知识2的相关文章

SHELL脚本的语法知识1

① $符号的使用方法:(摘自-网络) $0 这个程式的执行名字$n 这个程式的第n个参数值,n=1..9$* 这个程式的所有参数,此选项参数可超过9个.$# 这个程式的参数个数$$ 这个程式的PID(脚本运行的当前进程ID号)$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)$? 执行上一个指令的返回值 (显示最后命令的退出状态.0表示没有错误,其他任何值表明有错误)$- 显示shell使用的当前选项,与set命令功能相同[email protected] 跟$*类似,但是可

SHELL脚本的语法知识3

①管理Linux w 查看当前系统的负载 /proc/cpuinfo 保存服务器CPU相关信息 grep -c 'processor' /proc/cpuinfo 计算服务器CPU个数 vmstats 监控系统状态 top 显示进程所占系统资源 sar 监控系统状态 sar -n DEV 查看网卡流量 xargs 把其他命令的输出作为其后命令的输入 find ./ -mtime +10 | xargs rm find *.txt | xargs -n1 -i{} mv {} {}_bak 把后缀

SHELL脚本的语法知识——流程控制

①if-elif-elif-else-fi if-fi ` if(($a > 30));then echo $a;fi `       or ` if [ $a -gt 30 ];then echo $a;fi ` if-else-fi ` if(($a = 30));then echo $a;else echo 30;fi ` or ` if [ $a -eq 30 ];then echo $a;else echo 30;fi ` if-elif-elif-else-fi ` if(($a >

SHELL脚本的语法知识——数值计算

①$[] $[ $a operator $b ] 例: a=2;b=3;  echo $[ $a + $b] # 5 echo $[$a-$b] #-3 echo $[++$a-$b] #0 c=$[$a+$b] # √ c=6 d=$[a+b] # 6 备注:除了自加自减运算符其他都支持;只能进行整数运算;++在操作数前面时不会报错也不会自加;$[]会输出运算结果 ②let let a=b+c 例:a=1;b=2; let c=a+b;echo $c # 3 let c=++a+b;echo

Linux Bash脚本基本语法知识

写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正.如有不明白的地方,愿可一起探讨. 前提:读者能够基本使用一款文本编辑器以及了解文件的权限概念. 准备工作 在/home目录创建script文件用于保存所有的脚本程序: # mkdir /home/script # cd /home/script/ Bash脚本的基本输入输出 第一个bash脚本: # vim ./hello-world.sh 说明: "#!"是一个约定标记,它告诉系统这个脚本需要什么解释器来执行 作为可

shell脚本启动语法错误syntax error near unexpected token &#39;{

执行shell脚本时失败,报语法错误,但脚本内容检查正常 原因为该脚本是在非Linux系统下编辑之后放到系统执行的,文件模式类型非Linux系统匹配的模式类型. 查看文件的模式类型 显示文件的模式类型为 dos 修改文件的模式类型为Linux匹配的 unix 保存之后即可正常启动脚本. shell脚本启动语法错误syntax error near unexpected token '{ 原文地址:https://www.cnblogs.com/zjfjava/p/10708370.html

shell脚本编程基础知识

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务. Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell.bash是很多linux系统的默认shell. 下面开始写一个范例shell #!/bin/bashecho "Hello World

最全shell脚本语句语法使用(超详细)

博文大纲: 1.对谈式脚本--read语句 2.shell脚本中的测试的字符 3.判断脚本举例 4.条件判断--if语句 5.条件判断--case语句 6.条件判断--function函数结合case语句 7.循环判断--while.until语句 8.固定循环--for...do...done语句 9.循环--cut.set结合for语句 10.其他脚本类型举例 11.shell脚本的追踪与debug shell脚本的编写越规范越好,那么通常在每个shell脚本的开头几行会有如下几个方面相关的

shell脚本学习-语法篇

一. 条件测试:test [命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测 试结果为假,则命令的Exit Status为1(注意与C语言的逻辑表示正好相反). 二.if/then/elif/else/fi和C语言类似,在Shell中用if.then.elif.else.fi这几条命令实现分支控制.这种流程控制语句本质上也是由若干条Shell命令组成的,其实是三条命令,if [ -f ~/.bashrc ]是第一条,then . ~/.ba