{"id":389,"date":"2021-07-28T16:22:28","date_gmt":"2021-07-28T08:22:28","guid":{"rendered":"http:\/\/egonlin.com\/?p=389"},"modified":"2024-05-05T19:05:48","modified_gmt":"2024-05-05T11:05:48","slug":"%e7%ac%ac%e4%b8%80%e8%8a%82%ef%bc%9a%e5%9f%ba%e6%9c%ac%e6%95%b0%e6%8d%ae%e7%b1%bb%e5%9e%8b%e4%b8%8e%e5%80%bc%e6%93%8d%e4%bd%9c","status":"publish","type":"post","link":"https:\/\/egonlin.com\/?p=389","title":{"rendered":"\u7b2c\u4e00\u8282\uff1a\u57fa\u672c\u6570\u636e\u7c7b\u578b\u4e0e\u503c\u64cd\u4f5c"},"content":{"rendered":"<h1>\u57fa\u672c\u6570\u636e\u7c7b\u578b\u4e0e\u503c\u64cd\u4f5c<\/h1>\n<h2>\u4e00 \u6570\u636e\u7c7b\u578b\u4ecb\u7ecd<\/h2>\n<p>\u4ec0\u4e48\u662f\u6570\u636e\uff1f\u4e3a\u4f55\u8981\u6709\u591a\u79cd\u7c7b\u578b\u7684\u6570\u636e\uff1f<\/p>\n<pre><code>#\u6570\u636e\u5373\u53d8\u91cf\u7684\u503c\uff0c\u5982age=18\uff0c18\u5219\u662f\u6211\u4eec\u4fdd\u5b58\u7684\u6570\u636e\u3002\r\n#\u53d8\u91cf\u7684\u662f\u7528\u6765\u53cd\u6620\/\u4fdd\u6301\u72b6\u6001\u4ee5\u53ca\u72b6\u6001\u53d8\u5316\u7684\uff0c\u6beb\u65e0\u7591\u95ee\u9488\u5bf9\u4e0d\u540c\u7684\u72b6\u6001\u5c31\u5e94\u8be5\u7528\u4e0d\u540c\u7c7b\u578b\u7684\u6570\u636e\u53bb\u6807\u8bc6<\/code><\/pre>\n<p>shell\u662f\u4e00\u95e8\u89e3\u91ca\u578b\u3001\u5f31\u7c7b\u578b\u3001\u52a8\u6001\u8bed\u8a00<\/p>\n<pre><code class=\"language-python\">\u6982\u62ec\u5730\u8bf4\uff0c\u7f16\u7a0b\u8bed\u8a00\u7684\u5212\u5206\u65b9\u5f0f\u6709\u4ee5\u4e0b\u4e09\u79cd\r\n\r\n1\u3001\u7f16\u8bd1\u578bor\u89e3\u91ca\u578b\r\n\r\n2\u3001\u5f3a\u7c7b\u578bor\u5f31\u7c7b\u578b\r\n2.1 \u5f3a\u7c7b\u578b\u8bed\u8a00\uff1a \u6570\u636e\u7c7b\u578b\u4e0d\u53ef\u4ee5\u88ab\u5ffd\u7565\u7684\u8bed\u8a00\r\n\u5373\u53d8\u91cf\u7684\u6570\u636e\u7c7b\u578b\u4e00\u65e6\u88ab\u5b9a\u4e49\uff0c\u90a3\u5c31\u4e0d\u4f1a\u518d\u6539\u53d8\uff0c\u9664\u975e\u8fdb\u884c\u5f3a\u8f6c\u3002\r\n\u5728python\u4e2d\uff0c\u4f8b\u5982\uff1aname = 'egon'\uff0c\u8fd9\u4e2a\u53d8\u91cfname\u5728\u88ab\u8d4b\u503c\u7684\u90a3\u4e00\u523b\uff0c\u6570\u636e\u7c7b\u578b\u5c31\u88ab\u786e\u5b9a\u6b7b\u4e86\uff0c\u662f\u5b57\u7b26\u578b\uff0c\u503c\u4e3a'egon'\u3002\r\n\r\n2.2 \u5f31\u7c7b\u578b\u8bed\u8a00\uff1a\u6570\u636e\u7c7b\u578b\u53ef\u4ee5\u88ab\u5ffd\u7565\u7684\u8bed\u8a00\r\n\u6bd4\u5982linux\u4e2d\u7684shell\u4e2d\u5b9a\u4e49\u4e00\u4e2a\u53d8\u91cf\uff0c\u662f\u968f\u7740\u8c03\u7528\u65b9\u5f0f\u7684\u4e0d\u540c\uff0c\u6570\u636e\u7c7b\u578b\u53ef\u968f\u610f\u5207\u6362\u7684\u90a3\u79cd\uff0c\u5373shell\u5bf9\u6570\u636e\u7c7b\u578b\u7684\u6982\u5ff5\u6ca1\u6709\u90a3\u4e48\u5f3a\u7684\u8981\u6c42\r\n\r\n3\u3001\u52a8\u6001\u578bor\u9759\u6001\u578b\r\n3.1 \u52a8\u6001\u8bed\u8a00 \uff1a\u8fd0\u884c\u65f6\u624d\u8fdb\u884c\u6570\u636e\u7c7b\u578b\u68c0\u67e5\r\n\u5373\u5728\u53d8\u91cf\u8d4b\u503c\u65f6\uff0c\u5c31\u786e\u5b9a\u4e86\u53d8\u91cf\u7684\u6570\u636e\u7c7b\u578b\uff0c\u4e0d\u7528\u4e8b\u5148\u7ed9\u53d8\u91cf\u6307\u5b9a\u6570\u636e\u7c7b\u578b\r\n\r\n3.2 \u9759\u6001\u8bed\u8a00\uff1a\u9700\u8981\u4e8b\u5148\u7ed9\u53d8\u91cf\u8fdb\u884c\u6570\u636e\u7c7b\u578b\u5b9a\u4e49\r\n\r\n\u6240\u4ee5\u7efc\u4e0a\u6240\u8ff0\uff0cshell\u662f\u4e00\u95e8\u89e3\u91ca\u578b\u7684\u5f31\u7c7b\u578b\u52a8\u6001\u8bed\u8a00<\/code><\/pre>\n<h2>\u4e8c \u57fa\u672c\u6570\u636e\u7c7b\u578b<\/h2>\n<p>\u6570\u5b57<\/p>\n<pre><code class=\"language-python\">#int\u6574\u578b\r\n\u5b9a\u4e49\uff1aage=10\r\n\u7528\u4e8e\u6807\u8bc6\uff1a\u5e74\u9f84\uff0c\u7b49\u7ea7\uff0c\u8eab\u4efd\u8bc1\u53f7\uff0cqq\u53f7\uff0c\u4e2a\u6570\r\n\r\n#float\u6d6e\u70b9\u578b\r\n\u5b9a\u4e49\uff1asalary=3.1\r\n\u7528\u4e8e\u6807\u8bc6\uff1a\u5de5\u8d44\uff0c\u8eab\u9ad8\uff0c\u4f53\u91cd<\/code><\/pre>\n<p>\u5b57\u7b26\u4e32<\/p>\n<pre><code class=\"language-python\">#\u5728shell\u4e2d\uff0c\u52a0\u4e86\u5f15\u53f7\u7684\u5b57\u7b26\u5c31\u662f\u5b57\u7b26\u4e32\u7c7b\u578b\r\n\r\n\u5b9a\u4e49\uff1aname='egon' \r\n\u7528\u4e8e\u6807\u8bc6\uff1a\u63cf\u8ff0\u6027\u7684\u5185\u5bb9\uff0c\u5982\u59d3\u540d\uff0c\u6027\u522b\uff0c\u56fd\u7c4d\uff0c\u79cd\u65cf\r\n\r\n# \u6ce8\u610f1\uff1a\u5b57\u7b26\u4e32\u5305\u542b\u7a7a\u683c\u5fc5\u987b\u52a0\u5f15\u53f7\r\n[root@egon ~]# msg=\"hello egon\"\r\n[root@egon ~]# msg=hello egon\r\nbash: egon: \u672a\u627e\u5230\u547d\u4ee4...\r\n\r\n# \u6ce8\u610f2\uff1a\u8fde\u7eed\u7684\u5b57\u7b26\u4e0d\u52a0\u5f15\u53f7\u5305\u542b\u4e5f\u662f\u53ef\u4ee5\u7684\uff0c\u4f46\u6211\u4eec\u8fd8\u662f\u5f3a\u70c8\u5efa\u8bae\u52a0\u4e0a\u5f15\u53f7\uff0c\u89c4\u8303\u4e00\u4e9b\r\n[root@egon ~]# msg=hello\r\n[root@egon ~]# echo $msg\r\nhello\r\n[root@egon ~]# \r\n\r\n# \u6ce8\u610f3\uff1a\u5355\u5f15\u53f7\u4e0e\u53cc\u5f15\u53f7\u662f\u4e0d\u540c\u7684\r\n\" \"   \u5f31\u5f15\u7528\uff0c\u5f15\u53f7\u7684\u7279\u6b8a\u5b57\u7b26\u6709\u610f\u4e49\r\n' '   \u5f3a\u5f15\u7528\uff0c\u5f15\u53f7\u5185\u6240\u6709\u7279\u6b8a\u5b57\u7b26\u90fd\u53d6\u6d88\u610f\u4e49\r\n[root@egon ~]# name=\u201cegon\u201d\r\n[root@egon ~]# echo \"${name} is good\"\r\negon is good\r\n[root@egon ~]# echo '${name} is good'\r\n${name} is good <\/code><\/pre>\n<p>shell\u662f\u5f31\u7c7b\u578b\u8bed\u8a00<\/p>\n<pre><code class=\"language-python\">[root@egon ~]# x=10\r\n[root@egon ~]# y=\"3\"\r\n[root@egon ~]# expr $x + $y\r\n13<\/code><\/pre>\n<p>\u6570\u7ec4\u4ecb\u7ecd<\/p>\n<pre><code class=\"language-python\"># 1\u3001\u4ec0\u4e48\u662f\u6570\u7ec4\uff1f\r\n\u6570\u7ec4\u5c31\u662f\u4e00\u7cfb\u5217\u5143\u7d20\u7684\u96c6\u5408\uff0c\u4e00\u4e2a\u6570\u7ec4\u5185\u53ef\u4ee5\u5b58\u653e\u591a\u4e2a\u5143\u7d20\r\n\r\n# 2\u3001\u4e3a\u4f55\u8981\u7528\u6570\u7ec4?\r\n\u6211\u4eec\u53ef\u4ee5\u7528\u6570\u7ec4\u5c06\u591a\u4e2a\u5143\u7d20\u6c47\u603b\u5230\u4e00\u8d77\uff0c\u907f\u514d\u5355\u72ec\u5b9a\u4e49\u7684\u9ebb\u70e6<\/code><\/pre>\n<p>\u6570\u7ec4\u5206\u4e3a\u4e24\u79cd<\/p>\n<ul>\n<li>\u666e\u901a\u6570\u7ec4\uff1a\u53ea\u80fd\u4f7f\u7528\u6574\u6570\u4f5c\u4e3a\u6570\u7ec4\u7d22\u5f15<\/li>\n<li>\u5173\u8054\u6570\u7ec4\uff1a\u53ef\u4ee5\u4f7f\u7528\u5b57\u7b26\u4e32\u4f5c\u4e3a\u6570\u7ec4\u7d22\u5f15\uff0c\u9700\u8981\u7528declare -A\u58f0\u660e<\/li>\n<\/ul>\n<p>\u666e\u901a\u6570\u7ec4<\/p>\n<pre><code class=\"language-python\">=================\u58f0\u660e\u666e\u901a\u6570\u7ec4=================\r\n# \u65b9\u5f0f\u4e00\uff1aarray=(\u5143\u7d201 \u5143\u7d202 \u5143\u7d203)\r\narray=(egon 18 male)\r\n\r\n# \u65b9\u5f0f\u4e8c\uff1aarray=([key1]=value1 [key2]=value2 [key3]=value3)\r\narray=([0]=111 [1]=\"two\" [2]=333)\r\n\r\n# \u65b9\u5f0f\u4e09\uff1a\u4f9d\u6b21\u8d4b\u503c\r\narray_new[0]=111\r\narray_new[1]=222\r\narray_new[2]=\"third\"\r\n\r\n# \u65b9\u5f0f\u56db\uff1a\u5229\u7528\u6267\u884c\u547d\u4ee4\u7684\u7ed3\u679c\u8bbe\u7f6e\u6570\u7ec4\u5143\u7d20\uff1aarray=($(\u547d\u4ee4))  \u6216\u8005  array=(`\u547d\u4ee4`)\r\n\u8be5\u65b9\u5f0f\u4f1a\u5c06\u547d\u4ee4\u7684\u7ed3\u679c\u4ee5\u7a7a\u683c\u4e3a\u5206\u9694\u7b26\u5207\u6210\u591a\u4e2a\u5143\u7d20\u7136\u540e\u8d4b\u503c\u7ed9\u6570\u7ec4\r\n[root@aliyun ~]# ls \/test\r\na.txt   b.txt\r\n[root@aliyun ~]# array3=(`ls \/test`)\r\n[root@aliyun ~]# declare -a |grep array3\r\ndeclare -a array3='([0]=\"a.txt\" [1]=\"b.txt\")'\r\n\r\n# ps:\u67e5\u770b\u58f0\u660e\u8fc7\u7684\u6570\u7ec4\r\ndeclare -a\r\n\r\n=================\u8bbf\u95ee\u666e\u901a\u6570\u7ec4=================\r\n[root@egon ~]# ip_array=(1.1.1.1 2.2.2.2 3.3.3.3)\r\n\r\n# \u6b63\u5411\u7d22\u5f15\r\n[root@egon ~]# echo ${ip_array[0]}\r\n1.1.1.1\r\n[root@egon ~]# echo ${ip_array[1]}\r\n2.2.2.2\r\n[root@egon ~]# echo ${ip_array[2]}\r\n3.3.3.3\r\n[root@egon ~]# \r\n\r\n# \u8d1f\u5411\u7d22\u5f15\r\n[root@egon ~]# echo ${ip_array[-1]}\r\n3.3.3.3\r\n[root@egon ~]# echo ${ip_array[-2]}\r\n2.2.2.2\r\n[root@egon ~]# echo ${ip_array[-3]}\r\n1.1.1.1<\/code><\/pre>\n<p>\u5173\u8054\u6570\u7ec4<\/p>\n<pre><code class=\"language-python\">=================\u58f0\u660e\u5173\u8054\u6570\u7ec4=================\r\n[root@aliyun ~]# declare -A info\r\n[root@aliyun ~]# info[\"name\"]=\"egon\"\r\n[root@aliyun ~]# info[\"age\"]=18\r\n[root@aliyun ~]# info[\"gender\"]=\"male\"\r\n[root@aliyun ~]# \r\n[root@aliyun ~]# declare -A |grep info\r\ndeclare -A info='([gender]=\"male\" [name]=\"egon\" [age]=\"18\" )'\r\n[root@aliyun ~]# \r\n[root@aliyun ~]# echo ${info[*]}\r\nmale egon 18\r\n[root@aliyun ~]# \r\n[root@aliyun ~]# echo ${info[\"name\"]}\r\n\r\n=================\u8bbf\u95ee\u5173\u8054\u6570\u7ec4=================\r\n[root@egon ~]# info=([0]=\"egon\" [\"age\"]=18 [\"gender\"]=\"male\")\r\n[root@egon ~]# echo ${info[0]}\r\negon\r\n[root@egon ~]# echo ${info[\"age\"]}\r\n18\r\n[root@egon ~]# echo ${info[\"gender\"]}\r\nmale\r\n[root@egon ~]# <\/code><\/pre>\n<p>ps\uff1abash shell\u53ea\u652f\u6301\u4e00\u7ef4\u6570\u7ec4\uff0c\u4f46\u6570\u7ec4\u5143\u7d20\u4e2a\u6570\u6ca1\u6709\u9650\u5236\u3002<\/p>\n<h2>\u4e09 \u53d8\u91cf\u503c\u64cd\u4f5c<\/h2>\n<h3>3.1 \u83b7\u53d6\u53d8\u91cf\u503c\u7684\u957f\u5ea6<\/h3>\n<pre><code class=\"language-python\">[root@localhost ~]# echo ${#url}\r\n15\r\n\r\n# \u4f01\u4e1a\u9762\u8bd5\u9898\uff1a\u5df2\u77e5\u53d8\u91cfmsg='hello world!'\uff0c\u8bf7\u7edf\u8ba1\u51fa\u53d8\u91cf\u4e2d\u5305\u542b\u7684\u5b57\u7b26\u6570\u91cf\r\n# \u65b9\u6cd5\u4e00\uff1a\r\n[root@egon \/]# echo ${#msg}\r\n12\r\n# \u65b9\u6cd5\u4e8c\uff1a\r\n[root@egon \/]# echo $msg | wc -L\r\n12\r\n# \u65b9\u6cd5\u4e09\uff1a\r\n[root@egon \/]# echo $msg|awk '{print length}'\r\n12\r\n\r\n# \u65b9\u6cd5\u56db\uff1a\r\n[root@egon ~]# expr length \"$msg\" #length\u662f\u4e00\u4e2a\u51fd\u6570\uff0c\u6ce8\u610f\u56e0\u4e3amsg\u7684\u503c\u6709\u7a7a\u683c\uff0c\u6240\u4ee5$msg\u5fc5\u987b\u7528\u5f15\u53f7\u5305\u542b\r\n12<\/code><\/pre>\n<h3>3.2 \u5207\u7247<\/h3>\n<pre><code class=\"language-python\">${paramter:offset:length}\r\n\r\n[root@egon \/]# msg=\"abc def\"\r\n[root@egon \/]# echo \"${msg:3}\"  # \u4ece3\u53f7\u7d22\u5f15\u5f00\u59cb\uff0c\u4e00\u76f4\u5230\u6700\u540e\uff0c\u8981\u5e26\u7740\u5f15\u53f7\uff0c\u5426\u5219\u7a7a\u683c\u7b26\u53f7\u4f60\u770b\u4e0d\u5230\r\n def\r\n[root@egon \/]# echo ${msg:3:2}  # \u4ece3\u53f7\u7d22\u5f15\u5f00\u59cb\uff0c\u5f80\u540e\u65702\u4e2a\u5b57\u7b26\r\n d\r\n[root@egon \/]# echo ${msg::3}  # \u4ece0\u5f00\u59cb\uff0c\u5f80\u540e\u65703\u4e2a\u5b57\u7b26\r\nabc<\/code><\/pre>\n<h3>3.3 \u622a\u65ad<\/h3>\n<pre><code class=\"language-python\"># =================\u300b\u4e00\u3001\u780d\u6389\u5de6\u8fb9\u7684\u5b57\u7b26\u300a=================\r\n# 1.1 \u7b80\u5355\u4f7f\u7528 \r\n[root@egon ~]# url=\"www.sina.com.cn\"\r\n[root@egon ~]# echo ${url#www.}\r\nsina.com.cn\r\n\r\n# 1.2 \u7ed3\u5408*=\u300b\u975e\u8d2a\u5a6a\uff0c\u9ed8\u8ba4\u60c5\u51b5\u4e0b*\u662f\u975e\u8d2a\u5a6a\uff0c\u5c3d\u53ef\u80fd\u5730\u5c11\u201c\u5403\u201d\u5b57\u7b26\r\n[root@egon ~]# echo ${url#*w}\r\nww.sina.com.cn\r\n\r\n# 1.3 \u7ed3\u5408*=\u300b\u8d2a\u5a6a\uff0c\u5c3d\u53ef\u80fd\u5730\u591a\u201c\u5403\u201d\u5b57\u7b26\r\n[root@egon ~]# echo ${url##*w}  # *\u4f1a\u5c3d\u53ef\u80fd\u591a\u5730\u5403\u6389\u5b57\u7b26\uff0c\u4e00\u76f4\u5339\u914d\u5230\u6700\u8fdc\u7684\u90a3\u4e2aw\u624d\u505c\u4e0b\u6765\r\n.sina.com.cn\r\n\r\n# =================\u300b\u4e8c\u3001\u780d\u6389\u53f3\u8fb9\u7684\u5b57\u7b26\u300a=================\r\n# 1.1 \u7b80\u5355\u4f7f\u7528\r\n[root@egon ~]# url=\"www.sina.com.cn\"\r\n[root@egon ~]# echo ${url%.cn}\r\nwww.sina.com\r\n\r\n# 1.2 \u7ed3\u5408*=\u300b\u975e\u8d2a\u5a6a\r\n[root@egon ~]# echo ${url%.*}\r\nwww.sina.com\r\n# 1.3 \u7ed3\u5408*=\u300b\u8d2a\u5a6a\r\n[root@egon ~]# echo ${url%%.*}\r\nwww\r\n\r\n# =================\u300b\u4e09\u3001\u5e94\u7528\u793a\u4f8b\u300a=================\r\n[root@egon ~]# hostname\r\negon.xxx.com\r\n[root@egon ~]# echo $HOSTNAME\r\negon.xxx.com\r\n[root@egon ~]# echo ${HOSTNAME%.*}\r\negon.xxx\r\n[root@egon ~]# echo ${HOSTNAME%%.*}\r\negon<\/code><\/pre>\n<h3>3.4 \u5185\u5bb9\u7684\u66ff\u6362<\/h3>\n<pre><code class=\"language-python\">[root@egon ~]# url=\"www.sina.com.cn\"\r\n[root@egon ~]# echo ${url\/sina\/baidu}\r\nwww.baidu.com.cn\r\n[root@egon ~]# echo ${url\/n\/N}\r\nwww.siNa.com.cn\r\n[root@egon ~]# echo ${url\/\/n\/N}  # \u8d2a\u5a6a\r\nwww.siNa.com.cN\r\n\r\n# \u5e94\u7528\u793a\u4f8b\uff1a\u6279\u91cf\u4fee\u6539\u6587\u4ef6\u540d\u79f0\r\n[root@egon shell]# touch egon_2020_{01..05}_linux.txt\r\n[root@egon shell]# ls\r\negon_2020_01_linux.txt  egon_2020_02_linux.txt  egon_2020_03_linux.txt  egon_2020_04_linux.txt  egon_2020_05_linux.txt\r\n[root@egon shell]# for i in `ls *linux.txt`;do mv $i ${i\/_linux\/};done\r\n[root@egon shell]# ls\r\negon_2020_01.txt  egon_2020_02.txt  egon_2020_03.txt  egon_2020_04.txt  egon_2020_05.txt<\/code><\/pre>\n<h3>3.5 \u53d8\u91cf\u7684\u66ff\u4ee3<\/h3>\n<pre><code class=\"language-python\">${x:-\u4e34\u65f6\u53d8\u91cf\u4fe1\u606f}\r\n${x:=\u65b0\u7684\u53d8\u91cf\u4fe1\u606f}\r\n${x:?\u6ca1\u6709\u8bbe\u7f6e\u53d8\u91cf\u63d0\u793a\u4fe1\u606f}   \r\n${x:+\u6709\u8bbe\u7f6e\u53d8\u91cf\u63d0\u793a\u4fe1\u606f} \r\n\r\n#1\u3001${parameter-word}: \u5f53\u8c03\u53d6\u53d8\u91cf\u6ca1\u6709\u5b9a\u4e49\u8fc7, \u5c31\u8fd4\u56deword\u5b57\u7b26\u4e32\u4fe1\u606f\r\n[root@egon ~]# unset name \r\n[root@egon ~]# echo ${name}\r\n\r\n[root@egon ~]# echo ${name-\"egon\"}  # \u6ca1\u6709\u5b9a\u4e49\u8fc7\u53d8\u91cfname\uff0c\u5219\u4f7f\u7528-\u540e\u7684\u503c\r\negon\r\n[root@egon ~]# \r\n[root@egon ~]# gender=  # \u5b9a\u4e49\u8fc7\u53d8\u91cf\u4e86\uff0c\u5219\u4f7f\u7528\u53d8\u91cf\u7684\u539f\u503c\uff0c\u54ea\u6015\u53d8\u91cf\u7684\u503c\u4e3a\u7a7a\u503c\r\n[root@egon ~]# echo ${gender-\"male\"}\r\n\r\n[root@egon ~]# \r\n[root@egon ~]# age=18  \r\n[root@egon ~]# echo ${age-19}  # \u5b9a\u4e49\u8fc7\u53d8\u91cf\u4e86\uff0c\u5219\u4f7f\u7528\u53d8\u91cf\u7684\u539f\u503c\r\n18\r\n[root@egon ~]# \r\n\r\n#2\u3001${parameter:-word}: \u5f53\u8c03\u53d6\u53d8\u91cf\u4fe1\u606f\u503c\u4e3a\u7a7a\u65f6\u6216\u672a\u5b9a\u4e49\u53d8\u91cf, \u5c31\u8fd4\u56deword\u5b57\u7b26\u4e32\u4fe1\u606f\r\n[root@egon ~]# unset x  \r\n[root@egon ~]# unset y\r\n[root@egon ~]# unset z\r\n[root@egon ~]# \r\n[root@egon ~]# echo ${x:-aaa}  # \u6ca1\u6709\u5b9a\u4e49\u8fc7\u53d8\u91cfx\uff0c\u5219\u4f7f\u7528-\u540e\u7684\u503c\r\naaa\r\n[root@egon ~]# y=\r\n[root@egon ~]# echo ${y:-aaa}  # \u5b9a\u4e49\u8fc7\u53d8\u91cfy\uff0c\u4f46\u53d8\u91cfy\u7684\u503c\u4e3a\u7a7a\u503c\uff0c\u5219\u4f7f\u7528-\u540e\u7684\u503c\r\naaa\r\n[root@egon ~]# z=333\r\n[root@egon ~]# echo ${z:-aaa}  # \u5b9a\u4e49\u8fc7\u53d8\u91cf\u4e86\uff0c\u5e76\u4e14\u53d8\u91cf\u6709\u4e00\u4e2a\u975e\u7a7a\u7684\u539f\u503c\uff0c\u5219\u4f7f\u7528\u53d8\u91cf\u7684\u539f\u503c\r\n333\r\n\r\n#3\u3001{parameter:=word}:\u5f53\u8c03\u53d6\u53d8\u91cf\u4fe1\u606f\u503c\u4e3a\u7a7a\u65f6\u6216\u672a\u5b9a\u4e49,\u5219\u8bbe\u7f6e\u6307\u5b9a\u5b57\u7b26\u4e32\u4e3a\u65b0\u7684\u53d8\u91cf\u503c\r\n[root@egon \/]# unset x\r\n[root@egon \/]# echo ${x:=123}\r\n123\r\n[root@egon \/]# echo $x\r\n123\r\n\r\n#4\u3001${parameter:?word}:\u5f53\u8c03\u53d6\u53d8\u91cf\u4fe1\u606f\u503c\u4e3a\u7a7a\u65f6\u6216\u672a\u5b9a\u4e49,\u6307\u5b9a\u4e3a\u8d4b\u503c\u7684\u9519\u8bef\u63d0\u793a\u4fe1\u606f\r\n[root@egon \/]# unset x\r\n[root@egon \/]# echo ${x:?\u8be5\u53d8\u91cf\u6ca1\u6709\u5b9a\u4e49\u8fc7}\r\n-bash: x: \u8be5\u53d8\u91cf\u6ca1\u6709\u5b9a\u4e49\u8fc7\r\n\r\n#5\u3001${parameter:+word}:\u5f53\u8c03\u53d6\u53d8\u91cf\u4fe1\u606f\u503c\u4e3a\u7a7a\u65f6\u6216\u672a\u5b9a\u4e49,\u4e0d\u505a\u4efb\u4f55\u5904\u7406,\u5426\u5219word\u5b57\u7b26\u4e32\u5c06\u66ff\u4ee3\u53d8\u91cf\u503c\r\n[root@egon \/]# unset x\r\n[root@egon \/]# echo ${x:+\u54c8\u54c8\u54c8}\r\n\r\n[root@egon \/]# x=123\r\n[root@egon \/]# echo ${x:+\u54c8\u54c8\u54c8}\r\n\u54c8\u54c8\u54c8<\/code><\/pre>\n<h3>3.6 let<\/h3>\n<pre><code class=\"language-python\"># (1) \u53d8\u91cf\u7684\u503c\r\n[root@egon ~]# j=1\r\n[root@egon ~]# let ++j\r\n[root@egon ~]# echo $j\r\n2\r\n[root@egon ~]# \r\n\r\n# (2) \u8868\u8fbe\u5f0f\u7684\u503c\r\n[root@egon ~]# unset i\r\n[root@egon ~]# unset j\r\n[root@egon ~]# \r\n[root@egon ~]# i=1\r\n[root@egon ~]# j=1\r\n[root@egon ~]# \r\n[root@egon ~]# let x=i++  # \u5148\u628ai\u8d4b\u503c\u7ed9x\uff0c\u7136\u540e\u518d++\r\n[root@egon ~]# let y=++j  # \u5148++j\uff0c\u7136\u540e\u518d\u628aj\u7684\u7ed3\u679c\u8d4b\u503c\u7ed9y\r\n[root@egon ~]# echo $i\r\n2\r\n[root@egon ~]# echo $j\r\n2\r\n[root@egon ~]# echo $x\r\n1\r\n[root@egon ~]# echo $y\r\n2<\/code><\/pre>\n<h3>3.7 \u53d6\u547d\u4ee4\u7684\u7ed3\u679c\u8d4b\u503c\u7ed9\u53d8\u91cf\uff1a<\/h3>\n<pre><code class=\"language-python\"># ``\u4e0e$()\r\n` `  \u547d\u4ee4\u66ff\u6362 \u7b49\u4ef7\u4e8e $()   \u53cd\u5f15\u53f7\u4e2d\u7684shell\u547d\u4ee4\u4f1a\u88ab\u5148\u6267\u884c\r\n[root@localhost ~]# touch `date +%F`_file1.txt  \r\n[root@localhost ~]# touch $(date +%F)_file2.txt \r\n\r\n[root@localhost ~]# disk_free3=\"df -Ph |grep '\/$' |awk '{print $4}'\"  # \u9519\u8bef\r\n[root@localhost ~]# disk_free4=$(df -Ph |grep '\/$' |awk '{print $4}') # \u6b63\u786e\r\n[root@localhost ~]# disk_free5=`df -Ph |grep '\/$' |awk '{print $4}'`  # \u6b63\u786e<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u57fa\u672c\u6570\u636e\u7c7b\u578b\u4e0e\u503c\u64cd\u4f5c \u4e00 \u6570\u636e\u7c7b\u578b\u4ecb\u7ecd \u4ec0\u4e48\u662f\u6570\u636e\uff1f\u4e3a\u4f55\u8981\u6709\u591a\u79cd\u7c7b\u578b\u7684\u6570\u636e\uff1f #\u6570\u636e\u5373\u53d8\u91cf\u7684\u503c\uff0c\u5982age=18 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[64],"tags":[21,19,75,22,20],"_links":{"self":[{"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/posts\/389"}],"collection":[{"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/egonlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=389"}],"version-history":[{"count":3,"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/posts\/389\/revisions"}],"predecessor-version":[{"id":10824,"href":"https:\/\/egonlin.com\/index.php?rest_route=\/wp\/v2\/posts\/389\/revisions\/10824"}],"wp:attachment":[{"href":"https:\/\/egonlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=389"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/egonlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=389"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/egonlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=389"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}