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

eg:

gender=femal————right

gender =femal———–wrong

gender= femal———–wrong

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

eg:

if [ $gender = femal ]; then——-right.

echo “you are femal”;

fi

if[ $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.取变量值的符号'$'和后边的变量或括号不能有空格

8. 管道两边空格可有可无

shell脚本 空格的更多相关文章

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

    shell脚本中,不能随意添加空格,否则出错: 1,=等号两边必须无空格.否则出错.如i =$1和i= $1都是错的.但是在()内部不限制如for ((i= 1;i < 3;i= i+1))是正 ...

  2. shell脚本参数中有空格

    shell脚本参数中有空格 在shell脚本中如果有空格的处理如下: sh test.sh "hello word" echo $1 得到的是hello,而不是hello word ...

  3. 解决shell脚本参数传递含有空格的问题

    有这样一个py文件,需要传一个字典作为参数: import json import sys def parse_params(data): json_data = json.loads(data[1] ...

  4. Shell脚本传递带有空格的参数

    在另一博文<Shell脚本实现DB2数据库表导出到文件>中实现了通过脚本实现将DB2数据库导出到文件,需要传入七个参数,最后一个是一个带有空格字符串,所以传入的时候有点问题,会自动识别空格 ...

  5. Shell脚本编程30分钟入门

    Shell脚本编程30分钟入门 转载地址: Shell脚本编程30分钟入门 什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_t ...

  6. Linux shell脚本编程(一)

    Linux shell脚本编程: 守护进程,服务进程:启动?开机时自动启动: 交互式进程:shell应用程序 广义:GUI,CLI GUI: CLI: 词法分析:命令,选项,参数 内建命令: 外部命令 ...

  7. shell脚本俄罗斯方块游戏

    亲自测试了一个大牛写的shell脚本,感兴趣可以看看,效果如下:

  8. 学习 shell脚本之前的基础知识

    转载自:http://www.92csz.com/study/linux/12.htm  学习 shell脚本之前的基础知识 日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写sh ...

  9. shell脚本学习第一课

    shell是一种程序设计语言,是访问操作系统内核的服务. Linux的shell种类常见的有: Bourne Shell(/usr/bin/sh或/bin/sh) Bourne Again Shell ...

随机推荐

  1. [转载]对于GetBuffer() 与 ReleaseBuffer() 的一些分析

    先 转载一段别人的文章 CString类的这几个函数, 一直在用, 但总感觉理解的不够透彻, 不时还有用错的现象. 今天抽时间和Nico一起分析了一下, 算是拨开了云雾: GetBuffer和Rele ...

  2. centos安装php

    1.安装phpyum install php php-devel重启apache使php生效 2.此时可以在目录:/var/www/html/下建立一个PHP文件代码:<?php phpinfo ...

  3. servlet的生命周期与运行时的线程模型

    第 14 章 生命周期 注意 讲一下servlet的生命周期与运行时的线程模型,对了解servlet的运行原理有所帮助,这样才能避免一些有冲突的设计. 如果你不满足以下任一条件,请继续阅读,否则请跳过 ...

  4. 微信APP支付(Java后台生成签名具体步骤)

    public class PayCommonUtil { //定义签名,微信根据参数字段的ASCII码值进行排序 加密签名,故使用SortMap进行参数排序 public static String ...

  5. Oracle数据库更新时间的SQL语句

    ---Oracle数据库更新时间字段数据时的sql语句---格式化时间插入update t_user u set u.name='pipi',u.modifytime=to_date('2015-10 ...

  6. 转载:有关qsort的使用方法和注意事项

    七种qsort排序方法 <本文中排序都是采用的从小到大排序> 一.对int类型数组排序 int num[100]; Sample: int cmp ( const void *a , co ...

  7. //sql过滤关键字

    //sql过滤关键字 public static bool CheckKeyWord(string sWord) { //过滤关键字 string StrKeyWord = @"select ...

  8. 关于JAVA中的String的使用与连接(转)

    JAVA中的String连接性能 Java中的String是一个非常特殊的类,使它特殊的一个主要原因是:String是不可变的(immutable).           String的不可变性是Ja ...

  9. rbd命令

    chen@admin-node:~$ rbd --help usage: rbd [-n <auth user>] [OPTIONS] <cmd> ... where 'poo ...

  10. windows7系统下一些常用工具的总结

    1.查看计算机的基本信息:计算机--右键--属性(快捷键:Win+Pause) 2.查看计算机的详细信息:开始菜单--所有程序--附件--系统工具--系统信息(运行命令:msinfo32) 3.定制计 ...