shell中字符串基本用法】的更多相关文章

前言 今天在写脚本时,发现前阶段使用过的一些用法还是需要去百度查找,并且找到的答案还需要自己去筛选,耽误写脚本时间,这一篇对字符串之间的比较和逻辑判断都非常详细,借鉴他人之作,资源共享. 本片主要说明一些字符串比较中的注意事项 主要包括了字符串 相等.不等.长度.空字符串 以及逻辑与.逻辑或的内容,具体内容见下面的脚本: #!/bin/bash # test string order a="ss" b="abc" c="ss" echo &quo…
Shell中read的用法详解 原文:http://blog.csdn.net/jerry_1126/article/details/77406500 read的常用用法如下: read -[pstnd] var1 var2 ... -p 提示语句-n 字符个数-s 屏蔽回显-t 等待时间-d 输入分界 01). read                           # 从标准输入读取一行并赋值给特定变量REPLY root@linux~# read Hello,World! root@…
转自:http://blog.chinaunix.net/uid-29091195-id-3974751.html 我们所遇到的编程语言中(汇编除外)都少不了字符串处理函数吧,当然shell编程也不例外咯,那么下面我们一起来看下shell中字符串处理的相关操作吧.大概下面的字符串操作可以分为两种类型,一种属于变量替换,另一种属于继承unix expr命令吧! .测试字符串长度 ${#string} expr length $string expr "$string" : '.*' 例:…
原文:http://apps.hi.baidu.com/share/detail/31263915 在shell中字符串与数值的比较方法是不同的,要注意区分 整数比较:    -eq       等于,如:if [ "$a" -eq "$b" ]    -ne       不等于,如:if [ "$a" -ne "$b" ]    -gt       大于,如:if [ "$a" -gt "$b&…
重定位运算符 >> 是追加内容> 是覆盖原有内容 1.EOF Shell中通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主调Shell. 回顾一下< <的用法.当shell看到< <的时候,它就会知道下一个词(EOF)是一个分界符.在该分界符以后的内容都被当作输入,直到shell又看到该分界符(位于单独的一行).这个分界符可以是你所定义的任何字符串. 执行脚本的时候,需要往一个文件里自动输入N…
expect一般用于实现用脚本来自动远程登录,对远程机器执行相关操作 测试机上的expect目录一般在/usr/bin/expect路径 下面是从网上查询的用法总结: 1. expect中的判断语句: if { condition } { # do your things } elseif { # do your things } else { # do your things } expect中没有小括号(),所有的if/else, while, for的条件全部使用大括号{}, 并且{ 与左…
    awk语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文本操作,完整的awk脚本通常用来格式化文本文件中的信息 调用awk:   第一种,命令行方式,如:awk [-F field-separator] 'commands' input-file(s)         这里commands是真正的awk命令,[-F域分隔符]是可选的,awk默认使用空格分隔,因此如果要浏览域间有空格的文本,不必指定这个选项,但如果浏览如passwd文件,此文件各…
这篇文章主要为大家介绍shell中的case语句:可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码. 本文转自:http://www.jbxue.com/article/4314.html shell中的case语句: 可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码. 使用格式:case 匹配母板 in模板1 [ | 模板2 ] … ) 语句组 ;;模板3 [ | 模板4 ] … ) 语句组 ;;esaccase语句的匹配是从上往…
使用set命令可以设置各种shell选项或者列出shell变量.单个选项设置常用的特性. 在某些选项之后-o参数将特殊特性打开.在某些选项之后使用+o参数将关闭某些特性, 不带任何参数的set命令将显示shell的全部变量.除非遇到非法的选项,否则set总是返回ture. 当BASH shell被调用时,可以列出全部的选项.当前的选项集列在$-中.在option参数被处理后,其他的参数被赋值到位置参数中(,,...,$n) 格式 set [--abefhkmnptuvxldCHP] [-o op…
hadoop fs -test -e /path/exist ] ;then echo 'exist' else echo 'Error! path is not exist' fi 在shell中如何判断HDFS中的文件目录是否存在…
[截取] 一.Linux shell 截取字符变量的前8位,有方法如下: expr substr “$a” 1 8 : 二.按指定的字符串截取 第一种方法: ${varible##*string} # 从左向右截取最后一个string后的字符串 ${varible#*string} #从左向右截取第一个string后的字符串 ${varible%%string*} #从右向左截取最后一个string后的字符串 ${varible%string*} #从右向左截取第一个string后的字符串 #“…
http://blog.itpub.net/27181165/viewspace-1061688/ 在linux中通常会使用shell结合正则表达式来过滤字符,本文将以一个简单的例子来说明+,*,[:space:]的一些用法+ 匹配1个或多个字符* 匹配0个或多个字符[:space:] 匹配空白字符,包括空格,tab文件file是含有多个空格和tab的几行字符,下面将以file文件为例做几个简单的实验[root@node1 ~]# cat file     5 5   55           …
问题:对于’1,2,3,4,5’这样的字符串输出采用,分隔开的1 2 3 4 5 特征:在字符串中没有空格 解决方法1: #!/bin/bash var=’1,2,3,4,5’ var=${var//,/ }    #这里是将var中的,替换为空格 for element in $var do echo $element done 若原来字符串中有空格如:’mark:x:0:0:this is a test user:/var/mark:nologin’这样的字符串,要将:分隔的字符串输出,上面…
功能说明:告知shell取出eval的参数,重新运算求出参数的内容. 语 法:eval [参数]补充说明:eval可读取一连串的参数,然后再依参数本身的特性来执行. 参 数:参数不限数目,彼此之间用分号分开.1.执行命令行之前扫描它两次,再次运算求出参数的内容. 复制代码 代码如下: [root@localhost blue]# a="ls |more" [root@localhost blue]# $a                                         …
转自http://blog.csdn.net/zhuying_linux/article/details/6825568 tr(translate缩写)主要用于删除文件中的控制字符,或进行字符转换.语法:tr [–c/d/s/t] [SET1] [SET2]SET1: 字符集1SET2:字符集2-c:complement,用SET2替换SET1中没有包含的字符(SET1字符的补集)-d:delete,删除SET1中所有的字符,不转换-s: squeeze-repeats,压缩SET1中重复的字符…
1. 变量赋值 语法:var="saaaa" PS: 等号两边不能有空格 2. 脚本示例如下: #!/bin/sh # Get bug activity info # usage get_bug_activity <bug_id_list_file> if [ $# -lt 2 ]; then echo "Usage:"; echo "$0 <blk_pair_id_list_file> <dir>"; exi…
Linux 的字符串截取很有用.有八种方法. 假设有变量 var="User:123//321:/home/dir" 1. # 号截取,删除左边字符,保留右边字符. [root@zhoucentos ~]# var="User:123//321:/home/dir" [root@zhoucentos ~]# echo ${var#*//} :/home/dir 其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符 即删除…
一.语法结构 if [ condition ] then      statements  [elif condition      then statements. ..]  [else      statements ]  fi 二.说明 (1)[ condition ] (注意condition前后要有空格) 非空返回true,可使用$?验证(0为true,>1为false) 如:[ hadoop ] 返回true 空返回false 如:[  ] 返回false (2)[ conditio…
问题描述: ubuntu下仅仅获取网卡一的ip地址 问题背景: eth0,eth1,eth2……代表网卡一,网卡二,网卡三…… lo代表127.0.0.1,即localhost | 问题描述: 已知字符串str1, str2, 拼接str1和str2,结果为str3 str1=hello str2=world str3="$str1 $str2" echo $str3…
1 ${BASH_SOURCE-$0} 表示当前正在执行的脚本的完整路径. 2 cd -P 以物理路径进入 /usr/localhadoop现在链到/home/houzhizhen/usr/local/Hadoop/hadoop-2.72目录. cd -P /usr/local/hadoop pwd 输出/home/houzhizhen/usr/local/hadoop/hadoop-2.72 3 pwd -P 目录是链接目录时,pwd -P  显示出实际路径,而非使用连接(link)路径:pw…
test.sh:pipe="|"eval ls $pipe wc -l 输出bogon:Desktop macname$ ./test.sh 45 test.sh:eval echo \$$# 输出bogon:Desktop macname$ ./test.sh ssd dede ded dedeeeee iiiiiiii 参考:https://blog.csdn.net/luliuliu1234/article/details/80994391…
1. shell中字典的用法示例, 数组用法同字典 2. 以上使用sell配合字典实现的功能, 使用awk能轻松搞定, 如下: awk '{print $2}' file.txt | sort | uniq -c     # -c表示统计每个唯一字符的个数…
centos  shell脚本编程2 if 判断  case判断   shell脚本中的循环  for   while   shell中的函数  break  continue  test 命令   第三十六节课 return用在函数中exit用在shell当中 直接退出整个脚本,整个子shell或当前shellbreak退出循环 上半节课 if 判断case判断shell脚本中的循环 下半节课 for whileshell中的函数breakcontinue 课程大纲(继续上节课的) 7. if…
expect是用来实现自动交互功能的工具之一,使用expect-send来实现交互过程. 注意: 1.脚本的执行方法与bash shell不一样,比如:expect example.sh 2.向一个脚本传递参数时,bash shell是使用$1,$2...来接收参数的:而expect则将脚本的执行参数保存在数组$argv中,在脚本中一般将其赋值给变量:set 变量名 [lindex $argv 参数] ? 1 2 3 4 5 6 7 8 9 10 11 12 #!/usr/bin/expect…
命令代换$()与`` . 变量代换${} . 整数运算$(( )) 1.$( ) 与 ` ` (反引号) 在 bash shell 中,$( ) 与 ` ` (反引号) 都是用来做命令替换用(command substitution)的. 所谓的命令替换与我们第五章学过的变量替换差不多,都是用来重组命令行:* 完成引号里的命令行,然后将其结果替换出来,再重组命令行.例如:[code]$ echo the last sunday is $(date -d "last sunday" +%…
关于shell中的for循环用法很多,一直想总结一下,今天网上看到上一篇关于for循环用法的总结,感觉很全面,所以就转过来研究研究,嘿嘿... 1. for((i=1;i<=10;i++));do echo $(expr $i \* 4);done2.在shell中常用的是 for i in $(seq 10)3.for i in `ls` 4.for i in ${arr[@]}5.for i in $* ; do6.for File in /proc/sys/net/ipv4/confacc…
shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ${parameter:+word} 上面4种可以用来进行缺省值的替换. ${#parameter} 上面这种可以获得字符串的长度. ${parameter%word} 最小限度从后面截取word ${parameter%%word} 最大限度从后面截取word ${parameter#word}…
截取字符串的方法一共有八种,主要为以下方法 shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ${parameter:+word} 上面4种可以用来进行缺省值的替换. ${#parameter} 上面这种可以获得字符串的长度. ${parameter%word} 最小限度从后面截取word ${parameter%%word} 最大限度从后面截取…
shell中截取字符串的方法有很多种, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ${parameter:+word} 上面4种可以用来进行缺省值的替换. ${#parameter} 上面这种可以获得字符串的长度. ${parameter%word} 最小限度从后面截取word ${parameter%%word} 最大限度从后面截取word ${parameter#word}…
Shell中的getopts和getopt用法 1.getopts getopts(shell内置命令)不能直接处理长的选项(如:--prefix=/home等),getopts有两个参数,第一个参数是一个字符串,包括字符和":",每一个字符都是一个有效的选项,如果字符后面带有":",表示这个字符有自己的参数.getopts从命令中获取这些参数,并且删去了"-",并将其赋值在第二个参数中,如果带有自己参数,这个参数赋值在"optarg&…