问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求更好的shell脚本初学者的教程(免费的)并且求各位大拿给初学者点建议...

发布网友 发布时间:2022-04-24 01:35

我来回答

3个回答

懂视网 时间:2022-04-12 03:13

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 shell一些技巧和知识点 ; 表示的是一个命令执行完, 忽略其返回值, 继续执行下一行 表示只有前面为true才继续执行后面的命令, 否则忽略, 可以理解为短路执行 || 表示子前面为false才继续执行后面

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  shell一些技巧和知识点

  ; 表示的是一个命令执行完, 忽略其返回值, 继续执行下一行

  && 表示只有前面为true才继续执行后面的命令, 否则忽略, 可以理解为短路执行

  || 表示子前面为false才继续执行后面的命令, 这个比以前看到的解释更容易理解

  凡是要输出字符串的, 最好用引号括起来, 否则容易被shell理解为命令, 这一点很容易疏忽

  {}是一种命令块的写法

  :可以看成append操作

  export用来将一个变量升级为环境变量

  str=

  这行代码表示将str这个变量设置为null

  ${str:-+=expr} 这些操作忘记了, 还需要巩固一下

  source会将script看成当前shell进程的一部分, 而不是生成一个sub shell进程来执行脚本, source用来加载公共的函数, 可以理解为import

  exec用来结束当前shell进程, 并重新生成一个新的进程来执行脚本

  ()用来将多个命令放到一个sub shell进程中去执行, 可以理解为将表达式变成函数

  {} 理解成匿名函数吧, 一般在awk中常见

  $()和``是一回事, 不过前者辨识度更高, 建议常用, 后者容易与'混淆, 另外一个前者嵌套起来更简单, 不过前者移植性较差

  ${}除了用来界定变量之外, 还有一个功能实现字符串变量的substring操作, #表示去掉左边的, %表示去掉右边的, 单数表示最小匹配, 双数表示最大匹配, 可以通过键盘上#和%相对于$的位置来记忆, linux上的命令参数大部分记忆起来很伤脑筋:(

  ${}还可以用来设置默认值, 这块更复杂, 不记也罢

  ${#str}用来计算变量的字符长度

  ()的另一个作用是用来定义一个数组, 而针对数组的访问则利用的是[], 注意数组的下标base是0, 另外@用来表示全部, 可以理解为all

  $(())只针对算数和逻辑运算, 里面的变量可以不用带上$前缀, 当然带上也不为错

  shell中的0表示true, 非零表示false

  (())用来直接进行运算, 会让我们的代码更简洁, 比如变量不用加$前缀

  $0表示的是脚本路径, $1…n代表的是脚本路径之后的参数

  函数可以理解为脚本中的脚本, 不过函数中$0表示的仍然是脚本路径, 而不是函数名

  $10不是表示第十个参数而是第一个参数后面带一个0

  一般#跟数量关系比较大, 比如${#str}表示变量长度, 而$#表示参数个数, 测试是否有传参数 [ $# = 0 ]

热心网友 时间:2022-04-12 00:21

其实shell脚本非常简单,以前chianitlab曾经录制过linux教学视频,包含了一些shell变成方面的知识,不过我认为还是太基础了。我建议你还是看书,先看《Shell脚本学习指南》《实战LINUX+SHELL编程与服务器管理》有了一些shell的基础,在看《高级Bash脚本编程指南》,写shell脚本一定会涉及到sed、awk、正则表达式,然后在看《sed and awk》《精通正则表达式》。

热心网友 时间:2022-04-12 01:39

上百度啊 嘿嘿嘿追问找过了,可是没有找到更好更适合我的。

追答额 不是吧 那你就要请教专家了 这个 我们都不会的哦

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
上午去烧香,晚上梦见僵尸要吃我 ...电梯顶层的上方看到死人半个身子 我我掉头走后 被吓醒了 郁_百度知... 我两次梦见去逛商场然后电梯(上升的,带扶手的)塌了,丧尸出来,我和一群... 梦见在丧尸要咬我然后被我一脚踢进电梯它里半个身体出来了还想咬,然后... 香港hpv九价预约官网网址 电脑所有的电线有哪些电脑有哪些连接线 电脑电源那么多线起什么作用电脑电源连接线有多少个基本的都有什么作用... 显示器要接几根线 ...连接线是9芯的,谁知道是哪几条有用,哪几条没有用,各是什么颜色... mbr平板膜可以倒着放么 九阳电磁炉型号怎么看? 有什么好的shell编程视频吗? 美的电磁炉型号HT是什么意思? 电磁炉型号啥意思 有谁知道美的电磁炉型号代码开头的拼音及数字是什么意思 美的电磁炉型号RT,ST,FT,WT是什么意思? 请问:九阳电磁炉型号表示的意思,例如:JYC-21GS03 苏泊尔电磁炉型号代表什么? 电磁炉说明说v21什么意思 苏泊_电磁炉260u是什么意思 电磁炉的型号指的什么? 银行和保险的理财产品哪个更可靠,现在让大家说的保险的理财都是骗人的? 什么是个人保险理财产品 为什么银行会推荐保险理财产品,钱存保险到底安不安全? 保险理财产品是保本的,是不是以后都要买这种? 邮政存五年定期被套路了买了大家人寿保险靠谱吗? 大家人寿属于保险?还是基金?农行推荐的每年存2万,存5年 国家禁毒教育平台考试 湖南省禁毒网站平台登录 禁毒平台良好是多少分 那位老哥有linux视频教学包括centos和shell linux的shell指的是什么?怎样才算登陆shell?登陆shell有哪些方式?打开终端是不是就登陆了shell呢? 苹果手机充电充一会就断电 我想学习linux 的shell编程 看什么书比较好呢 视频教程也行 请问shell怎么学呀?谁有shell学习的好视频吗?非常感谢哈 谁有linux shell编程初学到精通的随书光盘? 法院可以冻结个人全部的银行卡吗? 如何成为一名教师?都需要哪些条件? 怎么才能当老师?是不是只有师范类大学的本科毕业生才能当老师? 怎么样才能成为一名老师,需要考什么证,是个什么样子的流程 怎么才能当老师? 卡状态全部冻结什么意思 如何成为一名合格的人民教师? 银行卡冻结是不是所有卡都冻结了 怎么样才能成为一名编制教师? 什么情况下冻结名下所有银行卡 拿到教师资格证后,怎样才可以当老师 师范本科毕业,该怎么才能去公立高中当老师? 别人知道你的姓名和身份证号码,手机号银行卡号信息能干嘛? 如何才能当上正式编制的老师?