shell 之空格

转载 2011年01月18日 15:07:00

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就要用空格分开

空格是命令解析中的重要分隔符

设计Windows shell中set 命令的人应该好好反省一下自己(用set处理串时请注意空格)

下面,我们仍讨论批处理命令,先看一个简单的set的应用例子: @echo off set /a sum = 0 echo sum is %sum% set /a sum = sum + 1...
  • stpeace
  • stpeace
  • 2013年06月07日 15:01
  • 2136

设计Windows shell中set 命令的人应该好好反省一下自己(用set处理串时请注意空格)

下面,我们仍讨论批处理命令,先看一个简单的set的应用例子: [plain] view plaincopyprint? @echo off  set /a sum = 0  echo s...

shell 处理空格

今天在处理文件时遇到个问题,当文件名包含空格时,for循环就出问题了。 例如,我在当前文件夹下建立3个文件名包含空格的文件: 复制代码 代码如下: keakons-MacBook-Pro:t...
  • fyfcauc
  • fyfcauc
  • 2014年05月30日 16:06
  • 430

Shell 编程:Bash空格的那点事

先了解下bash中什么时候该用空格,什么时候不该用。 1. 等号赋值两边不能有空格 2. 命令与选项之间需要空格 3. 管道两边空格可有可无 我们来看看常见的问题 1. 赋值时等...

Shell中处理包含空格的文件名实例

今天在处理文件时遇到个问题,当文件名包含空格时,for循环就出问题了。 例如,我在当前文件夹下建立3个文件名包含空格的文件: 复制代码代码如下: keakons-MacBook-...

Shell实用技巧:快速去除字符串中的空格

(转载)http://www.chncto.com/linux/20349.html 这篇文章主要介绍了Shell实用技巧:快速去除字符串中的空格,本文给出了3种方法,分别讲解了删除行首空格...

【Shell脚本】逐行处理文本文件 && 空格变换行

参考: http://www.cnblogs.com/dwdxdy/archive/2012/07/25/2608816.html 经常会对文体文件进行逐行处理,在Shell里面如何获取...

shell 去掉每行结尾空格

sed  -e ‘s/[ ]*$//g’  文件名 1. Sed简介    sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern...

嵌入式linux入门之shell 编程中空格的使用

声明:本文内容为本人学习嵌入式linux所遇问题后,查阅转载所得,方便以后学习,如能助人,也算报答前人之恩! 1.定义变量时, =号的两边不可以留空格. eg: gender=fema...

SHELL技巧:处理文件名中的那些空格

现在很多人命名的时候都喜欢用空格,例如“An Introduction.doc”。但是这种命名方式给Linux命令行工具和Shell带来了困扰,因为大多数命令中,都是默认以空格做为值与值之间的分隔符,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:shell 之空格
举报原因:
原因补充:

(最多只允许输入30个字)