转 shell中字分隔的妙用:变量IFS】的更多相关文章

IFS 的全称是 Interal Field Separator  ,即"内部区域分隔符",它也是一个内置环境变量,存储着默认的文本分隔符,默认下这分隔符是空格符(space  character),制表符(tab) 以及新行(newline) .先看下面一个简单示例: ? 1 2 3 4 5 6 7 8 #!/bin/sh   msg="welcome to www groad net"   for item in $msg do     echo "I…
在shell中常用的特殊符号罗列如下: # ;   ;; . , / \\ 'string'| !   $   ${}   $? $$   $* \"string\"* **   ? : ^ $#   $@ `command`{}   [] [[]] ()   (()) ||   && {xx,yy,zz,...}~   ~+   ~-   &   \\<...\\>   + - %=   ==   != # 井号 (comments) 这几乎是个满…
2.2.6.1.case语句(1)shell中的case语句和C语言中的switch case语句作用一样,格式有差异(2)shell中的case语句天生没有break,也不需要break,和C语言中的switch case不同.shell中的case默认就是匹配上哪个执行哪个,不会说执行完了还去执行后面的其他case(就好像shell中的case语言默认都带了break). 2.2.6.2.调用shell程序的传参(1)C语言中可以通过main函数的argc和argv给程序传参(详情参考<4.…
局部(local)环境变量 定义局部环境变量的方式如下: variableName=value 需要注意的是variableName前面没有$符号,并且=两边没有空格. 局部环境变量只能在当前shell中使用,无法在其派生的子shell中使用 全局(global)环境变量 定义全局环境变量的方式如下: variableName=value export variableName 可以看到,定义全局环境变量的方式和局部变量非常像,不同之处在于想要成为全局环境变量,必须使用export命令. 全局环…
SHELL中的特殊变量和结构 表格 B-1. 特殊的shell变量 变量 含义 $0 脚本名字 $1 位置参数 #1 $2 - $9 位置参数 #2 - #9 ${10} 位置参数 #10 $# 位置参数的个数 "$*" 所有的位置参数(作为单个字符串) * "$@" 所有的位置参数(每个都作为独立的字符串) ${#*} 传递到脚本中的命令行参数的个数 ${#@} 传递到脚本中的命令行参数的个数 $? 返回值,显示最后命令的退出状态.0表示没有错误,其他任何值表明有…
shell中${}的妙用   1. 截断功能 ${file#*/}:       拿掉第一条/及其左边的字符串:dir1/dir2/dir3/my.file.txt ${file##*/}:    拿掉最后一条/及其左边的字符串:my.file.txt ${file#*.}:       拿掉第一个.及其左边的字符串:file.txt ${file##*.}:    拿掉最后一个.及其左边的字符串:txt ${file%/*}:     拿掉最后条/及其右边的字符串:/dir1/dir2/dir…
eval命令妙用--变量嵌套替换 eval命令在Linux下的应用非常广泛,在写脚本的时候遇到一个变量嵌套的问题,用eval迎刃而解,略试不爽啊. var1="hello" i=1 #有时候i需要放在循环里,所以实际应用中有意义 what=var${i} temp=what echo $temp #打印出what eval temp=$(echo \$$what) echo $temp #打印出hello 究其原因在于eval替换表达式中的变量再做运算. 更多eval用法见下: eva…
在shell中常用的特殊符号罗列如下: # ; ;; . , / \ 'string'| ! $ ${} $? $$ $* "string"* ** ? : ^ $# $@ `command`{} [] [[]]    () (()) || && {xx,yy,zz,...}~ ~+ ~- & \<...\> + - %= == !=                                         # 井号 (comments)  …
该内容,均来自此网址(http://www.92csz.com/study/linux/12.htm).在下只是把那些命令的截图给去了. 你在学习linux的过程中,也许你已经接触过某个特殊符号,例如”*”,它是一个通配符号,代表零个或多个字符或数字.下面笔者就说一说常用到的特殊字符. 1. * :代表零个或多个字符或数字. test后面可以没有任何字符,也可以有多个字符,总之有或没有都能匹配出来. 2. ? :只代表一个任意的字符 不管是数字还是字母,只要是一个都能匹配出来. 3. # :这个…
Shell符号及各种解释对照表: Shell符号 使用方法及说明 # 注释符号(Hashmark[Comments]) 1.在shell文件的行首,作为shebang标记,#!/bin/bash; 2. 其他地方作为注释使用,在一行中,#后面的内容并不会被执行,除非: 3. 但是用单/双引号包围时,#作为#号字符本身,不具有注释作用. ; 作为多语句的分隔符(Command separator [semicolon]). 多个语句要放在同一行的时候,可以使用分号分隔.注意,有时候分号需要转义.…