shell脚本中,不能随意添加空格,否则出错:

1,=等号两边必须无空格。否则出错。如i =$1和i= $1都是错的。但是在()内部不限制如for ((i= 1;i < 3;i= i+1))是正确的。

2,(())内外部括号之间无空格,( () )这样报错。但内部括号内不限制,随便如s=$(( $i+1 ))可以

3,[]是条件判断式,所以前后内部都必须空格。其内部元素之间必须有空格才能识别,否则一律报错,如“while [ $i -lt 6 ]”少一个空格都报错。总之,[]所在行每个独立元素前后都必须有空格(不是一起的就必须空格)。-gt,-lt,-ge,-le,-ne

另外,单引号是字符串限定符,将内部内容作为字符串。而双引号和{}是变量限定符,内部作为变量处理

例子:

#!/bin/bash
for ((i= 1;i < 3;i= i+1))
do
    echo $i;
    echo '$i';
    echo "$i";
done

while [ $i -lt 6 ]
do
     i=$(( $i+1 ))
     echo $i
done
s=$(( $i+1 ))
echo $s

输出为:

1
$i
1
2
$i
2
4
5
6
7

再如: bin=`dirname "$0"`  如果写成bin =`dirname "$0"`就报错

#!/usr/bin/bash

source /etc/profile

bin=`dirname "$0"`
echo $bin
echo "$bin"
echo '$bin'
echo ${bin}
echo "${bin}"
#inputfile="/home/deve_test_user/liu/observer_report_20130915155111"
inputfile="$bin/observer_report_20130915155111"
echo $inputfile
echo ${inputfile}
echo "$inputfile"
echo "${inputfile}"

输出:

.
.
$bin
.
.
./observer_report_20130915155111
./observer_report_20130915155111
./observer_report_20130915155111
./observer_report_20130915155111

从例子中可以看出:

1.{}和“”对于变量没有影响。有没有一样

2.单引号''是变量成为字符串,echo '$bin'输出为$bin

转载于:https://www.cnblogs.com/cl1024cl/p/6205588.html

shell脚本格式的几点注意:格式严格,空格不能随便出现(一写就记不住)相关推荐

  1. shell脚本(五)——函数的格式、传参、变量、递归、函数库

    shell脚本(五)--函数 一.shell函数定义 二.格式 1.格式一: 2.格式二: 三.函数返回值 四.函数传参 五.函数变量的作用范围 六.递归 1.阶乘 2.递归查目录 七.创建函数库 一 ...

  2. SHELL脚本之自动化安装通用二进制格式MariaDB

    #!/bin/bash datadir="/mydata/data" sqlconf=/etc/mysql installdir=/usr/local/mysql # 关于安装包大 ...

  3. 记事本代码Linux编译不了,Windows下记事本编辑的Shell脚本放到Linux下执行出错,格式问题(/bin/bash^M: bad interpreter: 没有那个文件或目录)...

    iOS 的 APP 在系统中如何适配不同的屏幕的尺寸 iOS 的 APP 在系统中如何适配不同的屏幕的尺寸 标签: 2007年,初代iPhone发布,屏幕的宽高是 320 x 480 像素.下文也是按 ...

  4. Shell 脚本编程之基础

    最近闲着无聊,把笔记写在这吧 0x00 特殊符号和常见的运算符 <1>特殊符号 $*:命令行所有参数组成的字符串 $@:命令行所有参数组成的字符串 $n:n位数字,$0表示命令名称,$1表 ...

  5. 如何使用 SHC 加密 Shell 脚本

    如何在Linux环境中加密shell脚本?shell脚本包含密码,不希望其他具有执行权限的人查看shell脚本并获取密码.可以安装使用shc工具,普通用户无法读取shc创建的加密Shell脚本.SHC ...

  6. 101个shell脚本

    转自:https://blog.51cto.com/zero01/2046242 101个shell脚本 本文用于记录学习和日常中使用过的shell脚本 [脚本1]打印形状 打印等腰三角形.直角三角形 ...

  7. shell脚本常用方法

    常用shell脚本 [脚本1]打印形状 打印等腰三角形.直角三角形.倒直角三角形.菱形 #!/bin/bash # 等腰三角形 read -p "Please input the lengt ...

  8. 100多个shell脚本的例子

    本文用于记录学习和日常中使用过的shell脚本 [脚本1]打印形状 打印等腰三角形.直角三角形.倒直角三角形.菱形 等腰三角形 #!/bin/bash read -p "Please inp ...

  9. 【转】干货分享-100个shell脚本

    本文用于记录学习和日常中使用过的shell脚本 [脚本1]打印形状 打印等腰三角形.直角三角形.倒直角三角形.菱形 #!/bin/bash # 等腰三角形 read -p "Please i ...

  10. Android Shell脚本编辑运行

    先在linux上编写好shell脚本,push到Android机器下sh来执行,或者后台执行nohup ./testa.sh &.脚本内容如下: #!/system/bin/bash whil ...

最新文章

  1. 一文概览主要语义分割网络:FCN,SegNet,U-Net...
  2. 重新想,重新看——CSS3变形,过渡与动画①
  3. 数据库连接字符串大全
  4. amd为什么还用针脚_为什么intel处理器不用针脚,AMD还一直使用针脚呢?
  5. 微生物组-扩增子16S分析第9期(报名直播课免费参加线下2020.8)
  6. MountFlags of reg
  7. GitHub 添加 SSH keys
  8. 钉钉第三方服务商应用ISV应用开发及上架教程
  9. 数码照片像素与可冲印照片尺寸对照表
  10. JVM-什么是GC?
  11. 适合自己的网名测试软件,如何取个适合自己的网名?
  12. MathType无法加载mathpage.wll文件
  13. 魔兽世界8.0哪个服务器稳定,魔兽世界活得最安逸的BOSS!8.0版本才拿到7.0服务器首杀!...
  14. 戴尔笔记本重装系统按f几进入
  15. CT 三维重建的后处理方法
  16. 【Vue基础】关于Vue中CSS的scoped属性作用域与样式穿透
  17. jzoj9382泡泡龙
  18. [python爬虫之路dya3]: requests库的基本使用
  19. ios 判断电话号码
  20. HCIA第十天【寒假集训第七天】(OSPF)

热门文章

  1. FISCO BCOS Failed to connect to nodes: [ ssl hanshake failed:/192.168.64.131:20200]
  2. python 递归目录和文件 修改主组_python下递归遍历目录和文件的方法介绍
  3. Unity3D(一) 操作界面及游戏常识
  4. php imagick下载,PHP安装imagemagick扩展imagick
  5. mysql 慢查询及深入调优
  6. 聊聊对账系统的设计方案
  7. 小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_5、SpringBoot2.x的依赖默认Maven版本...
  8. 阶段2 JavaWeb+黑马旅游网_15-Maven基础_第5节 使用骨架创建maven的java工程_16maven工程servlet实例之jar包冲突...
  9. jQuery基础--选择器
  10. 在上传前探测磁盘是否挂载正常