溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

shell中的字符串操作、for循環(huán)語(yǔ)句示例

發(fā)布時(shí)間:2021-09-03 14:24:25 來(lái)源:億速云 閱讀:208 作者:chen 欄目:開(kāi)發(fā)技術(shù)

本篇內(nèi)容主要講解“shell中的字符串操作、for循環(huán)語(yǔ)句示例”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“shell中的字符串操作、for循環(huán)語(yǔ)句示例”吧!

代碼如下:


#!/bin/bash
my_name="jxq"

echo $my_name
echo ${my_name}

# ------------------------------------
# 字符串操作
# ------------------------------------

# 單引號(hào)字符串的限制,雙引號(hào)沒(méi)有這些限制:
# 單引號(hào)里的任何字符都會(huì)原樣輸出,單引號(hào)字符串中的變量是無(wú)效的
# 單引號(hào)字串中不能出現(xiàn)單引號(hào)(對(duì)單引號(hào)使用轉(zhuǎn)義符后也不行)
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}

# 字符串長(zhǎng)度
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


# ------------------------------------
# 語(yǔ)句
# ------------------------------------

# if
if true
then
 echo "ok, true"
fi

# 寫(xiě)成一行
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


# 循環(huán)語(yǔ)句
for item in `ls *.sh`
do
 echo $item
 echo "completed"
done

# 寫(xiě)成一行
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類(lèi)似
 fi
done

# Case語(yǔ)句
opt="install"
case "${opt}" in
 "install" )
  echo "install..."
  exit

 
 "update" )
  echo "update..."
  exit

 
 *) echo "bad opt"
esac

到此,相信大家對(duì)“shell中的字符串操作、for循環(huán)語(yǔ)句示例”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI