大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
很多刚学写shell的人经常有个疑问,为什么if后面要加上空格?
贺州网站建设公司创新互联公司,贺州网站设计制作,有大型网站制作公司丰富经验。已为贺州上1000+提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的贺州做网站的公司定做!
比如下面第1行会报错,第2行正常
原因参考第3行命令,whereis [
可见左中括号是个单独的命令文件!
前后不加空格跟其它字符连接起来,那就不是 [ 这个命令了
baozi是当前登录用户名,localhost是主机名。
中括号中的内容表示是可选参数,可选一个或多个或不选,大括号中的内容表示只可选其中一个参数。
标准输入stdin,标准输出stdout和标准错误stderr,三个系统文件的文件描述符分别为0、1和2。这里2的意思就是将标准错误也输出到标准输出当中。
有些小伙伴经常在SHELL脚本中看到某些特殊的取值或者赋值方式,比如${}连起来用的含义
那么我们直接上答案: 替换/截取
假设我们定义一个变量:
我们获取fileName的值使用 :
替换其中的tempDir1为tempDir3,我们可以使用命令:
结果
替换全部的Dir为Path
结果
#, ##, %,%%的作用
#符号A,##符号A,%符号A,%%符号A
为什么#是取左边的,%是取右边的呢?
看我们键盘的布局:
数字键 3 4 5 分别对应 # $ % ,
#和% 正好位于取值符号$的左右两边,你知道了么。。。。。。
常见用法:
加入我们调用一个脚本,入参有多个,
Linux中,lsmod(list modules)是显示已载入系统的模块。
标准输入stdin,标准输出stdout和标准错误stderr,三个系统文件的文件描述符分别为0,1和2。这里21的意思就是将标准错误也输出到标准输出当中。
所以这是告诉你出错了,找不到老的lsmod。
在Linux bash中可以使用命令行展开特性一步完成需要分开成多步完成的操作,达到事半功倍的效果。在Linux指令参数位置使用"{}" 将相应的参数括起来,括号中的参数以逗号分隔,然后bash在执行这一指令时会自动将括号中的内容进行展开。
示例1:
同时创建多个目录,在/tmp目录下创建a_c,a_d,b_c,b_d等目录,只需要在命令行中执行如下命令即可,无须单个创建:
执行结果如下:
示例2:
需要在/tmp/mylinux 目录下创建如下目录树。
创建命令如下:
执行结果如下:
在这里可以使用指令tree来查看目录的层级结构,以更直观的方式将目录树显示出来: