源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

shell基础学习中的字符串操作、for循环语句示例

  • 时间:2022-01-23 14:46 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:shell基础学习中的字符串操作、for循环语句示例
[u]复制代码[/u] 代码如下:
#!/bin/bash my_name="jxq" echo $my_name echo ${my_name} # ------------------------------------ # 字符串操作 # ------------------------------------ # 单引号字符串的限制,双引号没有这些限制: # 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的 # 单引号字串中不能出现单引号(对单引号使用转义符后也不行) name="will" age=24 my_full_name='${name}${age}' echo ${my_full_name} my_full_name="${name}${age}" echo ${my_full_name} # 字符串拼接 echo ${name}${age} # 字符串长度 echo ${#name} # 4 # substring message="I want to be healthy" echo ${message:2} # want to be health, 2是position echo ${message:2:4} # want,2是position,4是len # delete shortest match from front: ${string#substring} echo ${message#*want} # delete shortest match from back: ${string%substring} echo ${message%healthy} # delete longest match from front: ${string##substring} echo ${message##*h} # delete longest match from back: ${string%%substring} echo ${message%%t*} # find and replace: ${string/pattern/replacement} book_name="Catch Eye Eye" echo ${book_name/Eye/Cat} # find and replace all match: ${string//pattern/replacement} echo ${book_name//Eye/Cat} file_path="/usr/local/bin" # only replace when pattern match the beginning: ${string/#pattern/replacement} echo ${file_path/#\/usr/tmp} # only replace when pattern match the end: ${string/%pattern/replacement} echo ${file_path/%bin/tmp} # string index stringZ=abcABC123ABCabc echo `expr index "$stringZ" C12` # Mac OSX不支持expr # ------------------------------------ # 语句 # ------------------------------------ # if if true then  echo "ok, true" fi # 写成一行 if true; then echo "ok"; fi var='12' if [ $var -eq 12 ]; then     echo "This is a numeric comparison if example" fi if [ "$var" = "12" ]; then     echo "This is a string if comparison example" fi if [[ "$var" = *12* ]]; then     echo "This is a string regular expression if comparison example" fi name="jxq" if [ "$name" = "jxq" ]; then  echo "hello" $name fi # 循环语句 for item in `ls *.sh` do  echo $item  echo "completed" done # 写成一行 for item in `ls *.sh`; do echo $item; echo "completed"; done; counter=1 while : do  echo "bee"  let "counter=$counter+1"  if [ $counter -eq 3 ]; then   break # break/continue与Java类似  fi done # Case语句 opt="install" case "${opt}" in  "install" )   echo "install..."   exit    "update" )   echo "update..."   exit    *) echo "bad opt" esac
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部