国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Linux Shell > 正文

shell基礎學習中的字符串操作、for循環語句示例

2020-07-27 19:17:06
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 揭阳市| 陇川县| 股票| 菏泽市| 渝中区| 兴城市| 舒城县| 哈巴河县| 杭锦后旗| 杭锦后旗| 绥阳县| 南通市| 景泰县| 南溪县| 镇原县| 云安县| 崇仁县| 承德县| 丽江市| 墨玉县| 溆浦县| 油尖旺区| 克拉玛依市| 江阴市| 防城港市| 望江县| 涡阳县| 泗洪县| 平潭县| 北票市| 阿合奇县| 苏尼特右旗| 新龙县| 元谋县| 丽江市| 沛县| 文安县| 信丰县| 潍坊市| 济源市| 通城县|