【Shell】shell脚本中的空格_shell 空格_兔子爱读书的博客-程序员秘密

技术标签: 杂栏:C | C++ | shell | Web  

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”;

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

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ztf312/article/details/83025057

智能推荐

Python 基于pyecharts自定义经纬度热力图可视化_数据人阿多的博客-程序员秘密

背景在业务数据统计分析中基本都会涉及到各省区的分析,数据可视化是数据分析的一把利器,这些省区的数据一般会用地图可视化出来,这样一些规律可以被一面了然发现地图有很多可视化类型,比如:基本地理图、热力图、路径图、涟漪图 等,本篇文章主要介绍 热力图,使用的工具百度开源 pyecharts模拟数据以十一期间全国旅游景点热度为例(虚构数据)模拟数据基于pyecharts内置经纬度的热力...

python实现链表_python将元素插入链表的流程图怎么画_Tonywu2018的博客-程序员秘密

目录1. 链表结构1.1 单链表和双链表1.2 非连续性内存和节点1.3 定义并使用单链表节点类2. 单向链表的操作2.1 遍历2.2 搜索2.3 替换2.4 插入2.4.1 在开始处插入2.4.2 在末尾插入2.4.3 在任意位置插入2.5 删除2.5.1 在开始处删除2.5.2 在末尾删除2.5.3 在任意位置删除2.6 单链...

android ROM设置默认Launcher(主屏幕应用)_cuitianxiang的博客-程序员秘密

LauncherLauncher是android系统的桌面、是android系统的主要组件。android系统允许存在多个Launcher并设置默认主界面。应用程序作为Home(主界面)需在Activity的intent-filter节点中添加如下内容当系统中存在多个Home app且没有设置默认,用户点击Home键会弹出如下图所示的界面(图一): 用户可以选择“只有

Linux 中如何通过命令行访问 Dropbox_weixin_33735077的博客-程序员秘密

Linux 中如何通过命令行访问 Dropbox在当今这个多设备的环境下,云存储无处不在。无论身处何方,人们都想通过多种设备来从云存储中获取所需的内容。由于拥有漂亮的 UI 和完美的跨平台兼容性,Dropbox 已成为最为广泛使用的云存储服务。 Dropbox 的流行已引发了一系列官方或非官方 Dropbox 客户端的出现,它们支持不同的操作系统平台...

python中的形参和实参_Python函数篇(1)-函数中的形参与实参(已更新)_weixin_39991148的博客-程序员秘密

1:什么是函数函数其实就是带名字的代码块,用于完成一些具体的工作。如果我们在写一段程序的时候,需要多次用到同样的一个功能,如果每次都要重复写相同的代码,不仅会增加我们的代码量,更会让我们写出的代码让别人看起来觉得很low,而如果我们把功能作为一个代码块封装在一个函数里,每次仅需要调用这个函数,是不是就很方便了?这就是函数的意义所在1.1 函数的定义方式函数的定义使用def关键字,如下:defuse...

点击导航栏目,如何在页面内部跳转_导航跳转中_木_林_森的博客-程序员秘密

在普通的html文档中 ,页面内部的锚点跳转,我们通常使用 a 标签<a href='#锚点Id'> </a>,同时在需要跳转到的位置 ,要设置一个锚点(很形象的理解,渔船出海要停船了,防止漂走,首先要抛锚),怎么设置锚点,对应的元素 id="锚点id",如法一  <!DOCTYPE html><html lang="zh-en"><h

随便推点

农行研发中心软开2020秋招编程题全记录_农行软开编程题_爱吃榴莲的饭团的博客-程序员秘密

一共有三个题,第三个忘记了先记着前两个,代码都是基于C++,基本上前两个都是中规中矩暴力常规解法,考察字符串的一些操作,我这里没怎么用api也暂时未考虑特殊输入:第一题:三进制表示火星文:数字0,1,2分别对应字符@,$,&。输入数字123,输出字符串“$$$&@”(即11120)#include <iostream>#include <string>#include <vector>#include <stdlib.h>#i

深度学习(13): Anomaly Detection(异常侦测)_weixin_51182518的博客-程序员秘密

Anomaly detection(异常侦测)让机器可以知道我不知道这件事情Problem Formulation定义一个函数侦测输入的数据集x和训练集的相似度不一定detect不好的东西,只是找和训练资料不一样的东西。Different approaches use different ways to determine the similarityWhat is Anomaly?取决于你提供给机器的训练资料ApplicationsFraud Detection trainin

容器十年 ——一部软件交付编年史_容器 软件交付_阿里云技术的博客-程序员秘密

作者| 张磊,阿里云容器平台高级技术专家,CNCF Ambassador (CNCF 官方大使),Kubernetes 项目资深成员与维护者,曾就职于 Hyper、微软研究院(MSR),现在负责 Kubernetes 技术及上下游相关工作。2019年,全世界的开发人员都开始习惯用容器测试自己的软件,用容器做线上发布,开始对容器化的软件构建和交付流程习以为常。全世界的架构师们都在对“云原生”侃侃...

从Transformers学习跨模态编码器表示《LXMERT: Learning Cross-Modality Encoder Representations from Transformers》_Tiám青年的博客-程序员秘密

目录一、文献摘要介绍二、网络框架介绍三、实验分析四、结论这是视觉问答论文阅读的系列笔记之一,本文有点长,请耐心阅读,定会有收货。如有不足,随时欢迎交流和探讨。一、文献摘要介绍Vision-and-language reasoning requires an understanding of visual concepts, language semantics, an...

zookeeper使用过程的错误_denghe4720的博客-程序员秘密

一、zookeeper启动成功,dubbo服务也注册成功,但是服务消费者调用失败报错如下:[myid:] - INFO [SyncThread:0:[email protected]] - Established session 0x16ae75366b60004 with negotiated timeout 40000 for client /127.0.0.1:5094...

CSS 核心基础_css核心基础_断水流大大大师兄的博客-程序员秘密

这里写目录标题一.CSS简介1.什么是CSS2.CSS的优势二.CSS样式规则三.引入CSS样式表1.行内式2.内嵌式3.链入式4.导入式5.链入式与导入式的区别四.CSS基础选择器1.标签名选择器2.类选择器3.id选择器4.通配符选择器五.基本样式1.字体样式2.文本样式一.CSS简介1.什么是CSS     CSS即为层叠样式表,是一种用来表现HTML或XML等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页

推荐文章

热门文章

相关标签