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

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/

复制代码

代码如下:

#!/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

免费资源网 – https://freexyz.cn/


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容