Shell中的空格和引号】的更多相关文章

空格对于linux的shell是一种很典型的分隔符,所以给变量赋值的时候中间不能够有空格.而单引号和双引号,都是为了解决中间有空格的问题.比如string1=this is a string,这样执行就会报错.为了避免这个问题,因此就产生了单引号和双引号. 单引号将剥夺其中的所有字符的特殊含义,阻止对所有字符的转义, 将所有的字符看做其字面的意思.而双引号会处理字符串中的'$'(参数替换),'``' or '()'(命令替换),'\' 转义字符 和算数等.所以,两者基本上没有什么区别,除非在内容…
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 “…
1. 单引号(' ') 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的: 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用. 2. 双引号(" ") 双引号里可以有变量: 双引号里可以出现转义字符: 3. 反引号(` `) 命令替换: 在执行一条命令时,会先将其中的 ``,或者是$() 中的语句当作命令执行一遍,再将结果加入到原命令中重新执行: $():里面放的是命令,用来进行命令替换的: ${}:里面放的是变量,用来引…
转载自 https://blog.csdn.net/x1269778817/article/details/46535729 参考: https://stackoverflow.com/questions/669452/is-double-square-brackets-preferable-over-single-square-brackets-in-ba https://unix.stackexchange.com/questions/68694/when-is-double-quoting…
shell中各种括号的作用().(()).[].[[]].{} 原文:http://www.jb51.net/article/60326.htm http://blog.csdn.net/good_habits/article/details/27708745. http://blog.csdn.net/taiyang1987912/article/details/39551385 在这里我想说的是几种shell里的小括号,大括号结构和有括号的变量,命令的用法,如下: 1.${var} 2.$(…
http://blog.chinaunix.net/uid-14351756-id-2820651.html $( ) 与 ` ` (反引号)在 bash shell 中,$( ) 与 ` ` (反引号) 都是用来做命令替换用(command substitution)的. 所谓的命令替换与我们第五章学过的变量替换差不多,都是用来重组命令行:* 完成引号里的命令行,然后将其结果替换出来,再重组命令行.例如:[code]$ echo the last sunday is $(date -d "la…
原文 http://blog.zol.com.cn/2322/article_2321763.html $( ) 与 ` ` (反引号)在 bash shell 中,$( ) 与 ` ` (反引号) 都是用来做命令替换用(command substitution)的. 所谓的命令替换与我们第五章学过的变量替换差不多,都是用来重组命令行:* 完成引号里的命令行,然后将其结果替换出来,再重组命令行.例如:[code]$ echo the last sunday is $(date -d "last…
$( ) 与 ` ` (反引号)在 bash shell 中,$( ) 与 ` ` (反引号) 都是用来做命令替换用(command substitution)的. 所谓的命令替换与我们第五章学过的变量替换差不多,都是用来重组命令行:* 完成引号里的命令行,然后将其结果替换出来,再重组命令行.例如:[code]$ echo the last sunday is $(date -d "last sunday" +%Y-%m-%d)[/code]如此便可方便得到上一星期天的日期了… ^_^…
命令代换$()与`` . 变量代换${} . 整数运算$(( )) 1.$( ) 与 ` ` (反引号) 在 bash shell 中,$( ) 与 ` ` (反引号) 都是用来做命令替换用(command substitution)的. 所谓的命令替换与我们第五章学过的变量替换差不多,都是用来重组命令行:* 完成引号里的命令行,然后将其结果替换出来,再重组命令行.例如:[code]$ echo the last sunday is $(date -d "last sunday" +%…
反引号在 (`) 键盘的Tab键的上方.1键的左方.在Linux中起着命令替换的作用.命令替换是指shell能够将一个命令的标准输出插在一个命令行中任何位置.如下,shell会执行反引号中的date命令,把结果插入到echo命令显示的内容中.echo Today is `date`Today is 2016年 04月 19日 星期二 15:53:59 CST 单引号.双引号用于用户把带有空格的字符串赋值给变量时的分界符.str="Today is tuesday"echo $strTo…
在写shell的时候老是傻傻分不清楚,今天来理一理. 1.反引号位 (`) 位于键盘的Tab键的上方.1键的左方.注意与单引号(')位于Enter键的左方的区别. 在Linux中起着命令替换的作用.命令替换是指shell能够将一个命令的标准输出插在一个命令行中任何位置.如下,shell会执行反引号中的date命令,把结果插入到echo命令显示的内容中. [root@localhost sh]# echo The date is `date` The date is 2011年 03月 14日 星…
反引号位 (`) 位于键盘的Tab键的上方.1键的左方.注意与单引号(')位于Enter键的左方的区别. 在Linux中起着命令替换的作用.命令替换是指shell能够将一个命令的标准输出插在一个命令行中任何位置. 如下,shell会执行反引号中的date命令,把结果插入到echo命令显示的内容中. [root@localhost sh]# echo The date is `date` The date is 2011年 03月 14日 星期一 21:15:43 CST 单引号.双引号用于用户把…
最近搞的一个项目中所使用的方式比较奇怪,用Label显示HTML内容,然后不断地使用JS把Label的innerHTML复制到TextBox中. 但是,昨天发现了一个问题,获取元素值的时候,有时候正常,有时候不正常,然后进入了漫长的DEBUG.. 调试过程中,监测Label和TextBox的值,发现获取到Label的值是未被改变的,控件加载的时候是怎样就怎样,在页面中是以SPAN元素显示,在查看网页源代码的时候可以看到被修改了,但是在后台无论怎么获取都是页面加载时赋予的未经修改之前的值. 而Te…
在shell中引号分为三种:单引号,双引号和反引号. 单引号 ‘ 由单引号括起来的字符都作为普通字符出现.特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释.单引号用于保持引号内所有字符的字面值,即使引号内的\和回车也不例外,但是字符串中不能出现单引号.(注意是所有,只是单引号本身不能够出现在其中).例如: $ string=’$PATH’ $ echo $string $PATH 可见$保持了其本身的含义,作为普通字符出现. 双引号 “ 双引号用于保持引号内所有字符的字面值(回…
tips: ============================= IFS - LINUX字段分隔符,内部字段分隔符 IFS(Internal Field Seperator)在Linux的shell中预设的分隔符,用来把command line分解成word(字段). IFS可以是White Space(空白键).Tab( 表格键).Enter( 回车键)中的一个或几个. IFS是shell脚本中的一个重要概念,在处理文本数据时,它是相当有用的.内部字段分隔符是用于特定用途的定界符.IFS…
1. 单引号 使用单引号的情况下,不管里面的是否有变量或者其他的表达是都是原样子输出 2. 双引号 如果其定义变量的时候使用双引号的话,则里面的变量或者函数会通过解析,解析完成后再输出内容,而不是把双引号中的变量名以及命令原样子输出. 3. 不使用引号 用于一些简单字符数字的定义与双引号类似 使用规则 解释 单引号 所见即所得,即输出时会将单引号内的所有內容都原样输出,或者描述为单引号里面看到的是什么就会输出什么,这称为强引用 双引号 (默认) 输出双引号内的所有内容:如果内容中有命令(要反引下…
Linux shell去除字符串中所有空格 echo $VAR | sed 's/ //g'…
最近在学Gradle, 使用git clone 命令下载了一些资料,但是文件名含有空格,看上去不是很舒服,因此想到用shell脚本对其进行批处理,去掉文件名中的空格,注意这里是把所有的空格全去掉 git clone https://github.com/waylau/Gradle-2-User-Guide-Demos.git Shell脚本: ######################################################################### # F…
Linux Shell中有三种引号,分别为双引号(" ").单引号(' ')以及反引号(` `). 其中双引号对字符串中出现的$.''.`和\进行替换:单引号不进行替换,将字符串中所有字符作为普通字符输出,而反引号中字符串作为shell命令执行,并返回执行结果.具体含义如下: 双引号(" "):在双引号中,除了$, '', `和\以外所有的字符都解释成字符本身. 单引号(' '):在单引号中所有的字符包括特殊字符($,'',`和\)都将解释成字符本身而成为普通字符.…
Linux Shell中有三种引号,分别为双引号(" ").单引号(' ')以及反引号(` `). 其中双引号对字符串中出现的$.''.`和\进行替换:单引号不进行替换,将字符串中所有字符作为普通字符输出,而反引号中字符串作为shell命令执行,并返回执行结果.具体含义如下: 双引号(" "):在双引号中,除了$, '', `和\以外所有的字符都解释成字符本身. 单引号(' '):在单引号中所有的字符包括特殊字符($,'',`和)都将解释成字符本身而成为普通字符.…
Shell中可以用来实现变量代换的命令有两种,一种是由反引号括起来的一条命令另一种是由$()括起来一条命令,shell先执行这条命令,然后见输出结果立刻代换到当前命令行中. 例如定义一个变量存放date命令的输出: $DATE=`data` $echo $DATE 命令代换也可以用$()表示:$DATE=$(date)  输出的效果是一样的.我们知道系统是不会存在冗余的的命令,那么这两种方式有什么区别呢?下面我们再看一个例子: i=1 time1=Fri Aug 23 11:35:21 a=$(…
概述 使用 shell 替换 文件名中的空格 背景 尝试用 find 配合 xargs, 在多个文件里找关键字 出现了问题 有空格的文件名, 并不是很好处理 准备 os centos7 1. 问题: 文件名中的空格 场景 需要在多个文本里, 查找某个关键字 方法 find 配合 xargs 问题 文件名里有空格 结果 xargs 会把 带有空格的文件名, 当做多个文件 处理 使用 -i {} 处理 结果 可以找出来了 但是会丢失 文件名 所以, 还是得换别的思路来处理 2. 处理思路 1. 思路…
使用sed命令 将文件'aol1'中的空格去掉然后输出到'tmpFile'文件中 sed s/[[:space:]]//g aol1 > tmpFile…
这里记录的是在一个shell脚本里面使用. ./file.sh 和./file.sh 的区别,本文参考了http://www.lslnet.com/linux/dosc1/39/linux-283534.htm (这个蓝森林的东西应该是来源于chinaunix) 来个小实验场景一:vi file1.sh./file2.shecho $NIVEK vi file2.shNIVEK=goupiexport NIVEK chmod 755 file1.sh file2.sh $./file1.sh  …
本文介绍了如何在shell中读写mysql数据库.主要介绍了如何在shell 中连接mysql数据库,如何在shell中创建数据库,创建表,插入csv文件,读取mysql数据库,导出mysql数据库为xml或html文件, 并分析了核心语句.本文介绍的方法适用于PostgreSQL ,相对mysql而言,shell 中读写PostgreSQL会更简单些. 1. 连接mysql 数据库 shell中连接数据库的方法很简单,只需要指定用户名,密码,连接的数据库名称,然后通过重定向,输入mysql的语…
  1.shell中的大括号和小括号   1.${var} 2.$(cmd) 3.() 和 {} 4.${var:-string}, ${var:+string},  ${var:=string}, ${var:?string} 5.$((exp)) 6.$(var%pattern), $(var%%pattern),  $(var#pattern), $(var##pattern)   现在分述如下: 1.${var}是shell中的原形变量,我们常见的形式是 $var 如: $ var=te…
shell中的赋值和操作默认都是字符串处理,在此记下shell中进行数学运算的几个特殊方法,以后用到的时候可以来看,呵呵.   1.错误方法举例   a)   var=1+1   echo $var   输出的结果是1+1,悲剧,呵呵      b)   var=1   var=$var+1   echo $var   输出结果是1+1,依然悲剧,呵呵      2.正确方法   1)使用let   var=1   let "var+=1"   echo $var   输出结果为2,这…
for var in list do commands done 在每个迭代中,变量var会包含列表中的当前值,第一个迭代会使用列表中的第一个值,第二个迭代使用第二个值. 在do和done中,$var变量包含着这次迭代对应的当前值. 只要你愿意,可以将do语句和for语句放在同一行,但必须用分号将其同列表中的值分开. for var in list;do. #! /bin/bash for test in Alabama Alaska Arizona Arkansas California Co…
Shell: 用户与操作系统之间完成交互式操作的一个接口程序,为用户提供简化了的操作:上世纪的70年代中期在贝尔实验室,Bourne位Unix开发了一个shell程序Bourne Shell,简称sh:Bill Joy:用C语言根据sh重新编写 C Shell,简称csh:躺床上为其衍生版:David Korn:集合cshhesh的优点研发的Korn Shell,简称ksh:GNU:GNU组织发现sh是比较好用的又进一步开发Borne Again Shell,简称bash:Linux系统中默认的…
test可用于测试表达式,支持测试的范围包括:字符串比较,算术比较,文件存在性.属性.类型等判断.例如,判断文件是否为空.文件是否存在.是否是目录.变量是否大于5.字符串是否等于"longshuai".字符串是否为空等等.在shell中,几乎所有的判断都使用test实现. 其中[]完全等价于test,只是写法不同.双中括号[[]]基本等价于[],它支持更多的条件表达式,还允许在双中括号内使用逻辑运算符"&&"."||"."…