范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

shell基础

  变量逻辑控制shell 脚本demo函数
  1、变量
  定义一个 a=1 的变量,然后输入 echo $a 指令,其中 $a 表示可以引用这个变量
  a=1
  echo $a
  b=hello
  echo $b
  c=hello world
  echo $c
  这时候会报错,因为 x=hello 会被认为是一个变量赋值,而 world 会被认为是另外一个独立的命令
  c="hello world"
  echo $c
  需要对字符串加上单引号或者双引号。然后再打印这个变量
  知识点一: 单引号和双引号的区别?
  01、单引号和双引号的区别在于是否支持转义,双引号可以对转义符号进行处理
  02、= 左右不要有空格;
  03、如果内容有空格,需要使用单引号或双引号;
  04、双引号支持转义符,$ 开头的变量会被自动替换;
  知识点二:几个预定义变量
  01、PWD 表示当前目录;
  02、USER 表示当前用户;
  03、HOME 表示当前用户的主目录,HOME 还可以用 ~ 简写;
  04、PATH 表示当前所有可执行程序;
  05、RANDOM 可以产生一个随机数
  echo $PWD
  echo $USER
  echo $HOME 或者 echo ~
  echo $PATH
  echo $RANDOM
  1.2、输入 x=$(echo mryt_qa) 指令将字符串 mryt_qa 存入 x 变量中,这时输入 echo $x 指令,你会看到 $() 会把括号内的命令执行然后把输出结果作为值传递给变量
  x=$(echo mryt_qa)
  echo $x
  1.3、序列,从 1~10 获取一个序列,可以输入 echo {1..10} 指令来打印 1~10 的数字
  echo {1..10} 或者 seq 1 10
  ---
  2、逻辑控制
  知识点三、shell中的逻辑控制与python基础一致,常见包含:
  01、条件判断 if;
  02、分支判断 case、select,根据不同的条件进行不同的处理;
  03、循环 for、while、until;
  04、break 和 continue,退出循环;
  2.1、输入 for i in $(seq 1 3 10) 指令,然后在 do 语句块中打印 echo $i 的值,do 语句块以 done 结束
  for i in $(seq 1 3 10)
  do
  echo $i
  done
  2.2、定义 i=0, 输出结果每隔 1 秒打印一个 i 的值,而 i 的值逐渐增加,直到等于 3 时不再满足条件,退出循环
  i=0
  while ((i<3));do ((i=i+1));sleep 1;echo $i;done
  2.3、while read line 循环读取文件的每一行
  while read line; do echo $line;done < /tmp/first.txt
  2.4、或者通过管道也可以等价
  cat /tmp/first.txt | while read line;do echo $line;done
  ---
  3、shell 脚本demo
  3.1、输入 vim /tmp/demo.sh 指令创建了 demo.sh 文件
  vim /tmp/demo.sh
  3.2、demo.sh 输入p0=$0、p1=$1 p2=$2,以及 $@ 和 $*并打印
  #!/bin/sh
  # 脚本注释: 脚本demo,程序不会执行注释
  echo p0=$0
  echo p1=$1 p2=$2
  echo $@
  echo $*
  执行:bash /tmp/demo.sh
  使用 bash /tmp/1.sh,在执行结果中 $0 是当前的文件名,但此时参数没有值, 显示
  p0=/tmp/demo.sh
  p1= p2=
  3.3、输入参数 x、y 传递给脚本,你可以看到输出结果中第一个参数是 x,第二个参数是 y,这就是参数的解析规则
  bash /tmp/demo.sh x y
  知识点四:$@ 与 $* 都表示所有的参数但它们有什么区别?
  答:可以简单的理解成 $* 会把参数打散,参考以下例子
  3.4、比如第二个参数是包含空格的,将 "m n" 作为一个完整的参数传递给脚本并执行,你会发现第二个参数是 m n,但其实 $@ 与 $* 的值已经发生了变化,$* 会将参数打散,而 "$@" 则不会
  bash /tmp/demo.sh x "m n"
  3.5、demo.sh 使用 for 循环来分别打印 "$@" 和 $* 所代表的参数
  #!/bin/sh
  #脚本注释: 脚本demo,程序不会执行注释
  echo p0=$0
  echo p1=$1 p2=$2
  for p in "$@";do
  echo $p
  done
  echo $*
  for p in $*,do
  echo $p
  done
  执行以上脚本,如果是"$@",第一个参数打印的是 x,第二个参数打印的是 m n,而 $* 把第二个参数拆成了两个
  ---
  4、函数
  函数是以函数名()后跟 {} 括起来的内容组成,函数可以实现一些功能封装,同时函数也支持与脚本类似的参数解析
  4.1、定义一个 hello 函数,在函数中通过 if 语句判断第一个参数 $1 是否等于 python,如果等于就打印 python测试。然后运行 hello 函数,你会发现什么都没有,是因为你并没有给函数传入一个参数,传入 shell 参数后,系统打印 学习shell基础
  hello(){
  if [ "$1" = "python" ]; then echo python测试; fi
  }
  执行:
  hello
  hello python
  4.2、demo.sh脚本里通过 elif 判断 $1 是否等于 java,如果等于 java 就打印 java 测试
  #!/bin/sh
  #脚本注释: 脚本demo,程序不会执行注释
  echo p0=$0
  echo p1=$1 p2=$2
  for p in "$@";do
  echo $p
  done
  echo $*
  for p in $*;do
  echo $p
  done
  if [ "$1" = "python" ]; then
  echo python测试
  elif [ "$1" = "java" ]; then
  echo java测试
  fi
  执行:
  bash /tmp/demo.sh python
  bash /tmp/demo.sh java
  4.3、demo.sh封装成一个 hello 函数,有了函数之后就可以在执行的过程中随时进行调用来实现功能封装和逻辑复用
  #!/bin/sh
  #脚本注释: 脚本demo,程序不会执行注释
  echo p0=$0
  echo p1=$1 p2=$2
  for p in "$@";do
  echo $p
  done
  echo $*
  for p in $*;do
  echo $p
  done
  # if [ "$1" = "python" ]; then
  # echo python测试
  # elif [ "$1" = "java" ]; then
  # echo java测试
  # fi
  hello(){
  if [ "$1" = "python" ]; then
  echo python测试
  elif [ "$1" = "java" ]; then
  echo java测试
  fi
  }
  hello $2 # 运行 hogwarts 函数并将 $2 参数传给它,此时 $2 是脚本的第二个参数,但却是 hogwarts函数 的第一个参数
  执行:
  bash /tmp/demo.sh java
  bash /tmp/demo.sh python
  bash /tmp/demo.sh python java

这家在北京深圳设研发中心的人工智能企业,为何把总部设在济南本文来源新黄河30年茁壮成长的济南高新区,正在吸引越来越多的高科技企业在此落户。博观智能(Bresee)是一家基于计算机视觉的人工智能创新技术企业,引人注目的是,这家在杭州北京深圳小米MIX4正式亮相,4999元起步小米今日举行新品发布会,推出多款新品,其中甚至有些意料外的产品,不过说到底大家最受关注的依然是MIX4,这点在大规模曝光后依然没什么变化。该款产品从外观上设计上来说多少有点小米11极客修电脑C盘又满了?4招教你瞬间腾出几十G叮叮叮!极姐电脑课堂开讲了!前几天极姐在后台收到了小伙伴的求助大家是不是经常也有这样的困扰电脑用了一段时间后C盘可用空间会越来越小今天极姐就给大家讲讲如何给C盘瘦身一hr开启存储感以太坊存在7年了,一无是处,没有实用价值,为什么一直受到热捧我是在2016年第一次接触以太坊,以前我一直以为国际间人与人汇款是被西联汇款这个龙头垄断的。直到我发现以太坊钱包metamask可以直接发送USDT或者Dai。国际间的传统汇款通常移远通信推出超小尺寸5G模组尺寸减小三分之一上海2021年8月11日美通社众所周知,一些行业终端设备由于使用场景较为特别,对产品的尺寸有严格的限制,这也对通信模组的尺寸设立了更小的门槛。一款兼具尺寸和性能优势的5G模组,可让如果说高铁是用无缝轨道的话,热胀冷缩的问题是如何解决的?原理很简单无缝轨就是把铁轨因为热胀冷缩导致的温度形变控制在两个轨枕之间。具体做法就是用扣板和螺栓将铁轨死死的摁在轨枕上。以前用的是枕木和道钉,压力不够,无法锁定轨道,所以达不到这样谷歌头痛不已,华为改用鸿蒙就算了,国际巨头也宣布弃用安卓谷歌的安卓和苹果的iOS一直霸占着操作系统领域的江山,几乎形成了垄断的局势。华为作为谷歌的合作伙伴之一,也是谷歌的一大客户。但华为的逐渐强大以及深度优化功能却使谷歌起了防备之心,一七夕撒狗粮AI焕采人像所拍即大片,填满朋友圈九宫格随着中国传统文化影响力的逐渐加强,七夕已经和西方的情人节一样,成为情侣伴侣之间表达爱意与仪式感的重要日子。选礼送礼也成了大家的共同话题,在此过来人给予大家的建议是每一样礼品必然要有三星新品今晚发布,国外曝出规格细节三星将在今晚(8月11日)22点举办三星GalaxyUnpacked活动,会上将发布其下一款可折叠产品GalaxyZFold3和GalaxyZFlip3。在新品亮相前,有不少关于该一加新手机今晚亮相海外,双屏设计,还会有人买吗?严肃点,说点正事。8月份已至,机圈新一轮神仙打架正式开场。小米MIX4已经率先亮相,iQOO8荣耀Magic3也蓄势待发,款款重磅,就算不买,一场接一场的发布会也看得人直呼过瘾。国碧桂园说2022年开始全面机器人建房?这些工人被替换的可能性最大随着信息化时代的发展,很多行业都开始加强科学技术的研究与实践。就连传统的建筑工地也越来越智能化,不少机器人开始走入工地替代工人了。但机器人的使用越广泛就意味着工人的危机越大!1。碧
谷爱凌频频上热门,你知道这些体育明星代言过手机吗?谷爱凌绝对是近几天最热门的体育明星,甚至接下来的热度还要更高。因为她还有几个项目没有参数。看到她热度如此之高,网友们纷纷评论哪个手机品牌能签约她呢?事实上手机品牌签约体育明星并不是SamsungGalaxyWatch4系列重大软件来了!漂亮新表带跟随登场去年,Samsung发布了全新GalaxyWatch4系列智能手表,如今将为手表用户带来重大的新软件更新,除了新功能之外还有新表面和表带。SamsungGalaxyWatch4系列交行手机银行及官网首批通过工信部适老化及无障碍水平评测近日,工业和信息化部互联网应用适老化及无障碍改造专项行动公布了首批通过适老化及无障碍水平评测的APP及网站名单。凭借在金融服务适老化及无障碍方面的实践与持续优化,交通银行手机银行A聊一聊要不要更换iPhone电池iPhone电池是消耗品,从电池生产出来那刻起就开始了老化之路,一般来说二年左右甚至一年多点有的iPhone的电池容量就降到了80以下,电池要不要更换呢,看实际情况而言出差人员或重开始反击!华为索赔203亿元,瑞典贸易专家华为想吓唬其他国家进入2021年以来,华为受到了漂亮国多轮的制裁,除了手机业务受到影响外,5G相关的通信设备也受到了非常大的影响,可以说损失了非常多的5G订单。小芳觉得漂亮国真的是太过分了,不仅制裁运营商提供的IPTV是否占用网络带宽?本行业问题,我来回答。明确的说,IPTV是不会占用你的上网的网络带宽的,因为IPTV走的是独立通道。运营商提供的光猫一般都是有多个接口,其中一个接口连接网线到路由器,另外一个接口连英大臣警告脸书若不遵守英国新网络安全法,扎克伯克可能蹲监狱来源环球时报环球时报驻英国特约记者孙微英国天空新闻台7日报道称,英国数字文化媒体和体育部大臣娜丁多里斯警告说,如果脸书不遵守新的网络安全法,该平台创始人兼CEO马克扎克伯格可能会被一款社交软件,快到1G的安装大小,又不是操作系统,你能接受吗如今手机已处于智能时代,社交和移动支付,网络购物,外卖,打车,短视频等这些软件无疑成为人们生活起居,工作,购物,最方便的工具。对比70,80,以及90年代,那时候没有智能机,各种不冬奥时尚系列小知识6冰糖智能音箱北京冬奥会火炬飞扬原型出自天猫精灵设计团队,同时天猫精灵为北京冬奥设计的一款特许定制产品冰糖,设计前期聚焦了4个核心的冬奥元素,包括现在卖断货的冬奥吉祥物冰墩墩冬奥火炬飞扬冬奥赛场GPU进入新三国鼎立时代近些年,GPU在业界的重要性愈加凸出,无论是在高性能计算,还是在消费级领域,其对用户的粘性越来越强,英伟达的火爆就是得益于其核心的GPU技术和产品,在这种情况下,传统巨头英特尔坐不B站就员工猝死一事发声已成立专项小组,扩招审核,关注员工身体健康红星资本局获悉,2月8日晚23时许,B站(即哔哩哔哩,09626。HK)通过官方微博就此前员工猝死一事发表长文。(该事件详见此前报道B站有员工过年因加班猝死?回应事发前一周内不存在