# 1. 获取linux指令结果 # shell程序中可以直接使用linux指令, 还可以获取linux指令执行的结果 ls echo ------------------------------------------- ls -lh /root mkdir abc echo ------------------------------------------- # 获取指令结果的两种方法: # 1) 变量=$(linux指令) # 2) 变量=`linux指令` result1=`ls` echo -n result1: echo $result1 result2=$(ls -lh | wc -l) echo -n result2: echo $result2 echo ------------------------------------------- # 2. 字符串 # shell中的字符串表示的是可以加单引号\双引号,也可以不加引号 str1='hello' str2="hello" str3=hello echo $str1 echo $str2 echo $str3 # 不支持转义字符 str1='abc\n123' str2="abc\n123" str3=abc\n123 echo $str1 echo $str2 echo $str3 # 字符串拼接: "${变量名}" name=小明 age=18 # xxx今年xx岁! message="${name}今年${age}岁!" echo $message # 字符串长度: ${#字符串变量名} str1='hello\nworld' count1=${#str1} echo $count1 str1="hello\nworld" count1=${#str1} echo $count1 echo $str1 > a.txt # 字符串提取(获取字符串中的部分内容) # ${字符串变量:下标:个数} # ${字符串变量:下标:1} # ${字符串变量:下标} str1='hello world!' echo ${str1:0:3} echo ${str1:4:1} i=3 echo ${str1:${i}:1} echo ${str1:4} echo ---------------------------------------------- # 3. 数组 # 数组就相当于python中的列表,可以同时保存多个数据 # 数组是将()作为容器的标志,里面多个元素用空格或者换行隔开 # 格式: (数据1 数据2 数据3 ...) names=(小明 张三 李四 小花) scores=( 90 88 94 73 56 44 99) nums[0]=红色 nums[1]=绿色 # 注意: 直接使用数组名使用的其实是数组中的第一个元素 echo $names # 1) 获取数组中所有元素 # ${数组名[@]} # ${数组名[*]} echo ${names[@]} echo ${scores[*]} echo ${nums[*]} # 2) 获取数组元素: ${数组[下标]} echo ${names[1]} # 3) 获取数组长度: ${#数组[@]} / ${#数组[*]} echo ${#names[*]} echo ${#scores[@]}
02.shell基础语法2
本节1595字2025-03-12 17:42:21