对于很多新学shell脚本程序的人来书说,空格跟$符号的使用一直让人迷迷糊糊,下面我来说说有关于它们的使用情况。

1.定义变量时, =号的两边不可以留空格.

eg:
gender=femal————right
gender =femal———–wrong
gender= femal———–wrong
gender= test————right 左边是命令的话=号的右边有空格是正确的=左边不能有空格
gender = test  ———wrong  等号=左边必须要有空格

2.条件测试语句 [ 符号的两边都要留空格.

eg:
if [ $gender = femal ]; then——-right.
echo “you are femal”;
fiif[ $gender...-----------------------wrong
if [$gender...----------------------wrong.

3.条件测试的内容,如果是字符串比较的话, 比较符号两边要留空格!

eg:
if [ $gender = femal ]; then——-right.
if [ $gender= femal ]; then——–wrong.
if [ $gender=femal ]; then———wrong.

4.如果if 和 then写在同一行, 那么,注意, then的前面要跟上 ; 号.如果 then 换行写, 那么也没问题.

eg:
if [ $gender = femal ]; then——-right.
if [ $gender = femal ]
then——————————-right.
if [ $gender = femal ] then——-wrong. then前面少了 ; 号.
提示出错信息:
syntax error near unexpected token then
同理,还有很多出错信息 比如
syntax error near unexpected token fi 等都是这样引起的.

5.if 后面一定要跟上 then. 同理
elif 后面一定要跟上 then.
不然提示出错信息:
syntax error near unexpected token else

1)if 语句后面需要跟着then,同时前面要有分号;
2) 空格非常重要,shell 会认为空格前的为一个命令,如果a=3 认为是赋值操作,如果写成a = 3,那么就会认为a为一个命令 this=`ls -l |grep ‘^-' | wc -l `
3) 操作符之间要用空格分开 ,如 test ! -d $1,其中的!和-d就要用空格分开
空格是命令解析中的重要分隔符

6. 命令和其后的参数或对象之间一定要有空格

if [ -x"~/Workspace/shell/a.sh" ];then

只有 -x 后有空格才表示紧跟其后的字符串是否指向一个可执行的文件名,否则就成了测试 -x"~/Workspace/shell/a.sh" 这个字符串是不是空。

7.取变量值的符号'$'和后边的变量或括号不能有空格


转自http://blog.csdn.net/sum_tw/article/details/52134864

shell脚本中的空格相关推荐

  1. 【Shell】shell脚本中的空格

    1.定义变量时, =号的两边不可以留空格. eg:gender=femal----rightgender =femal---–wronggender= femal---–wronggender= te ...

  2. shell脚本中的变量

    shell脚本中的变量 1 变量的定义 2 shell脚本中变量的定义方法 2.1 环境级别 2.2 用户级别 2.3 系统级别 3 变量名称 4 变量的转译 4.1 转译 4.2 声明 4.3 变量 ...

  3. 数组-在Shell脚本中的基本使用介绍

    2019独角兽企业重金招聘Python工程师标准>>> Shell脚本在运维工作中是极其重要的,而数组在shell脚本里的运用无论是在循环或运算方面都是非常实用的一个环节. 下面是对 ...

  4. linux复杂逻辑判断,20.5 shell脚本中的逻辑判断

    shell脚本中的逻辑判断 格式1:if 条件 ; then 语句; fi 格式2:if 条件; then 语句; else 语句; fi 格式3:if -; then - ;elif -; then ...

  5. 为什么“ cd”在shell脚本中不起作用?

    我正在尝试编写一个小脚本以将当前目录更改为我的项目目录: #!/bin/bash cd /home/tree/projects/java 我将此文件另存为proj,并使用chmod添加了执行权限,然后 ...

  6. shell脚本中echo显示内容带颜色

    shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e  格式如下: echo -e "\033[字背景颜色:文字颜色m字符串\033[0m" 例如: e ...

  7. shell脚本中echo显示内容带颜色的实现方法

    shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e 格式如下: 复制代码 代码如下: echo -e "\033[字背景颜色:文字颜色m字符串\033[0m&q ...

  8. Linux:shell脚本中实现变量自增的几种方式

    #!/bin/sh #本脚本测试shell脚本中整型变量自增 加1的几种方法   #定义整型变量 a=1 echo $a   #第一种整型变量自增方式 a=$(($a+1)) echo $a   #第 ...

  9. shell脚本中的几个括号总结(小括号/大括号/花括号)

    [转载]shell脚本中的几个括号总结(小括号/大括号/花括号) (2011-10-08 21:23:34) 转载▼ 标签: 杂谈 分类: linux shell脚本中的几个括号总结(小括号/大括号/ ...

最新文章

  1. keras 的 example 文件 antirectifier.py 解析
  2. Numpy入门教程:12. 线性代数
  3. 人生苦短,我用python+vscode
  4. cocos2dx多线程以及线程同步 与 cocos2dx内存管理与多线程问题
  5. 得到文件的服务器路径,如何获取服务器上的路径?
  6. [CodeForces 567C] Geometric Progression
  7. C#实现异步消息队列
  8. modprobe:用于向内核中加载模块或者从内核中移除模块。
  9. jupyter生成数据集
  10. linux Vi操作和使用方法详解
  11. 20道常见的kafka面试题以及答案
  12. 十六条超炫代码让你的QQ空间改头换面(转)
  13. 如何查看连接过的WiFi密码?详细教程(配图片)!
  14. 将阿里云盘挂载为本地磁盘使用
  15. 一款值得使用的会议室管理软件【会议预订小程序】
  16. 本周最新文献速递20210718
  17. BOSS直聘自动投简历聊天机器人的实现过程
  18. 淘宝新店刚开如何测款?
  19. Livox激光MID-360使用与fast-lio2激光SLAM建图
  20. h5预订酒店项目|html5酒店模板|h5酒店webapp开发

热门文章

  1. Matlab动画模拟分子布朗运动的示例
  2. python ssl module_Python升级后ssl模块不可用问题解决和浅析
  3. 2020年中国新基建人工智能产业链全景图深度分析汇总(附完整企业名单)
  4. windows10下使用minGW64 编译krita源码报错
  5. PACS—医学影像信息化的基础
  6. 迅雷协议分析–多链接资源获取
  7. 《ERP高级计划》书解读-APS案例分析之四缓冲的计算(蔡颖)(转)
  8. 谈谈 2020 年程序员收入报告
  9. bytebuddy之advice详解 注解详解
  10. ebs 编译无效对象——adutlrcmp.sql not giving promt