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. 管道两边空格可有可无

转载于:https://www.cnblogs.com/Nice-Boy/p/6131462.html

shell脚本 空格相关推荐

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

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

  2. shell 脚本比较字符串相等_比较带空格的字符串相等的Shell脚本 如何比较两个.....

    ****************************比较带空格的字符串相等的Shell脚本*************************** 如果要比较的字符串中间有空格,可以用下面的程序(摘 ...

  3. shell脚本参数中有空格

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

  4. Shell脚本参数值包含空格的处理

    例如输入值为:2018-06-2523:59:59,但是日期和时间有空格,由于shell中将空格作为默认分隔符,因此只能将2018-06-25传递给脚本中的参数,而23:59:59则作为之后的另一个参 ...

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

    解决shell脚本参数传递含有空格的问题 参考文章: (1)解决shell脚本参数传递含有空格的问题 (2)https://www.cnblogs.com/zoro-robin/p/6612053.h ...

  6. shell 脚本程序中空格 $符号的使用

    对于很多新学shell脚本程序的人来书说,空格跟$符号的使用一直让人迷迷糊糊,下面我来说说有关于它们的使用情况. 1.定义变量时, =号的两边不可以留空格. eg: gender=femal----r ...

  7. shell脚本中的空格

    对于很多新学shell脚本程序的人来书说,空格跟$符号的使用一直让人迷迷糊糊,下面我来说说有关于它们的使用情况. 1.定义变量时, =号的两边不可以留空格. eg: gender=femal----r ...

  8. shell脚本删除冒号空格_shell脚本如何删除指定字符串,文档如下:

    展开全部 用正则匹配e68a8462616964757a686964616f31333361313338就可以了. shell脚本regex正则表达式 和 字符串替换 任意字符 ^行首匹配 $行尾匹配 ...

  9. shell脚本删除冒号空格_从Bash漏洞学Shell脚本(冒号)

    前天,爆发了Bash安全漏洞,非常恐怖.在网络上开始飞速传播,附带了非常友好的检测工具. $ env x='() { :;}; echo vulnerable' bash -c "echo ...

  10. jar包部署shell脚本编写,在服务器上部署jar包,在Linux服务器上部署服务,设置编码格式,设置内存管理

    准备步骤: 1.安装java环境,知道java安装目录 2.将jar包拖放或发送至服务器中(目录自定义) 一.编写shell脚本,将以下代码放在shell脚本中,将shell脚本放在jar包同级目录下 ...

最新文章

  1. win7下python的安装与配置_Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程...
  2. NYOJ 116 士兵杀敌(二)
  3. Potplayer使用必看
  4. C++希尔密码Hill Cipher算法(附完整源码)
  5. 品牌管理-统一异常处理
  6. axios请求拦截 做Loading加载
  7. Android service 小研究
  8. (转)SpringMVC学习(七)——Controller类的方法返回值
  9. IFIX组态----安全与权限配置
  10. 传输设备基础知识〖 一篇就看懂〗
  11. CleanCode-函数
  12. 将结构体转换为二进制
  13. 基于微信小程序食谱大全系统(微信小程序毕业设计)
  14. uip协议,主动发送功能
  15. 《如懿传》《延禧攻略》同获金骨朵网络影视盛典奖项
  16. 如何进行邮件群发营销?外贸邮件怎么进行邮件群发推广?
  17. Linux如何挂载exFAT格式移动硬盘
  18. android 气泡,Android Q 气泡
  19. win10 uwp 打开文件管理器选择文件
  20. 按 特定区域/指定位置 批量裁剪图片

热门文章

  1. python cursor游标_python 使用sqlite需要使用游标cursor?
  2. 3des 解密 java_◆JAVA加密解密-3DES
  3. freetds mysql_关于 freetds pymssql 的安装部署
  4. go 变量大写_和我一起学Go系列:Go基本语法概览
  5. sql server 配置管理器里为什么是32位_FT VIEW | SE高级应用之数据存入SQL数据库
  6. Sharepoint 2013 表单验证四(添加用户到表单验证数据库)
  7. 在浏览器中输入url地址 - 显示主页的过程
  8. 从规范去看Function.prototype.call到底是怎么工作的?
  9. window_redis
  10. rectiveCocoa进阶