设为首页 收藏本站
查看: 939|回复: 0

shell基本命令总结

[复制链接]

尚未签到

发表于 2018-8-19 09:39:07 | 显示全部楼层 |阅读模式
  一 Linux shell脚本
  shell : 命令行解释器
  (1)sh
  (2)csh
  (3)ksh
  (4)bash
  shell 脚本:一堆命令集合,这些命令完成一件特定的事情
  二 运行一个shell脚本文件
  1.添加可执行权限,然后运行 ./shell脚本文件
  2.用shell来解析我们的脚本文件 , bash 脚本文件
  三 shell脚本语法
  1.变量
  (1)用户自定义变量
  变量名=内容
  特点:
  没有数据类型
  赋值两边不能有空格
  所有的赋值对shell变量都解释为字符串
  (2)环境变量
  PATH 是shell默认的搜索路径
  HOME 记录的是当前用户的用户主目录
  (3)位置变量
  $0   脚本的名字
  $1   给脚本传递的第一个参数
  $2   给脚本传递的第二个参数
  ...
  $9
  $@  获取给脚本传递的所有参数
  $*  获取给脚本传递的所有参数
  $#  获取给脚本传递的参数个数
  注意:
  在shell中引用一个变量的内容时候,需要加"$",例如:$PATH
  VAR1=$PATH
  VAR2=$HOME
  VAR3=$VAR1
  VAR1=$VAR2
  VAR2=$VAR3
  echo $VAR1
  echo $VAR2
  2.输入和输出
  (1)输入
  read  var1  var2  var3
  将用户输入的第一个单词赋值给var1,第二个单词赋值给var2,剩下的单词赋值给var3
  (2)输出
  echo "hello word"     输出后自动换行
  echo -n "hello word"  取消输出后自动换行
  3.数据的计算
  + , - , \* , / , %
  运算的命令:expr
  4.判断的对象
  (1)字符串
  = , != , -z , -n
  (2)数字
  eq , ne ,gt ,lt , ge ,le
  (3)文件属性
  -d , -f , -r , -w ,-x
  5.控制语句
  (1)判断语句
  if [ 判断的对象 ]
  then
  命令
  fi
  -a  且的关系
  -o  或的关系
  if [ $data -ge 256 -a $data -lt 512 ]
  then
  echo $data
  fi
  -----------------------------------------------------------------
  输出重定向:将输出的结果,输出到指定的文件中,而不是在终端上显示
  echo "string"  > log.txt 先清空log.txt文件,然后写入字符串
  echo "string" >> log.txt 以追加的方式在log.txt文件尾部写入字符串
  -----------------------------------------------------------------
  if [ 判断的对象 ]
  then
  命令
  else
  命令
  fi
  if [ 判断的对象 ]
  then
  命令
  elif [判断的对象]
  then
  命令
  ...
  elif [判断的对象]
  then
  命令
  fi
  练习:
  输入一个成绩,判断成绩的等级
  [80-100] A
  [60-80 ) B
  [0-60  ) C
  如果成绩非法不是[0-100],则提示用户输入的成绩是非法的成绩
  (2)case 语句
  case 变量的内容 in
  匹配项1)
  命令
  ;;
  匹配项2)
  命令
  ;;
  *)
  命令
  ;;
  esac
  练习:
  输入一个成绩,判断成绩的等级
  [80-100] A
  [60-80 ) B
  [0-60  ) C
  如果成绩非法不是[0-100],则提示用户输入的成绩是非法的成绩
  (3)循环
  asd f ghj
  for  变量  in  单词表
  do
  命令
  done
  循环的次数由单词表中单词的个数来决定,变量每次从单词表取一个单词,然后执行循环体,直到将所有的单词全部取完
  for 变量
  do
  命令
  done
  如果 "in 单词表"省略,此时变量从位置参数中取单词
  (3)输出拷贝的文件和子目录的个数
  ------------------------------------------------------------------------
  while [表达式]
  do
  命令
  done
  只有在表达式为真的时候,才执行命令,如果为假,循环结束
  ------------------------------------------------------------------------
  break     2
  continue  2
  二 source 命令
  1.bash  test.sh 或 ./test.sh 它是创建一个子进程(shell 进程),子进程来解释test.sh这个脚本
  脚本运行结束后,不影响当前的shell(终端上的bash)
  2.source test.sh  或 .  test.sh 它是当前终端的shell来解释脚本,脚本运行结束后会影响到当前的shell
  三 shell 函数
  1.函数定义
  function  函数名()
  {
  命令;
  ...
  return 数字值
  }
  2.函数调用
  value=`函数名  参数1  参数2 ...`
  value的值这个函数内部通过echo输出的字符串
  函数名 参数1 参数2 ...
  通过 $? 获得函数的返回值
  问题:在shell函数内部如何获得传递的参数呢?
  回答:通过位置变量($1 $2 $3 ...)来获得传递的参数
  注意:在shell中变量默认是全局的,如果只想变量在函数内部有效,需要用local修饰变量
  while true
  do
  done


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-553726-1-1.html 上篇帖子: shell脚本的简单介绍 下篇帖子: non-login shell 与login shell的区别
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表