{"id":693,"date":"2015-09-30T07:25:46","date_gmt":"2015-09-30T07:25:46","guid":{"rendered":"http:\/\/www.selinuxplus.com\/?p=693"},"modified":"2015-09-30T07:25:46","modified_gmt":"2015-09-30T07:25:46","slug":"bash%e4%b8%ad%e7%9a%84%e5%a4%a7%e6%8b%ac%e5%8f%b7%e6%89%a9%e5%b1%95","status":"publish","type":"post","link":"http:\/\/www.selinuxplus.com\/?p=693","title":{"rendered":"Bash\u4e2d\u7684\u5927\u62ec\u53f7\u6269\u5c55"},"content":{"rendered":"<p>\u6700\u8fd1\u6709\u4eba\u95ee${}\u91cc\u9762\u7684\u53c2\u6570\u600e\u4e48\u770b\u4e0d\u61c2\u5462\uff1f<br \/>\n${name:-default}\u4f7f\u7528\u4e00\u4e2a\u9ed8\u8ba4\u503c\uff08\u4e00\u822c\u662f\u7a7a\u503c\uff09\u6765\u4ee3\u66ff\u90a3\u4e9b\u7a7a\u7684\u6216\u8005\u6ca1\u6709\u8d4b\u503c\u7684\u53d8\u91cfname\uff1b<br \/>\n\u4f8b\u5b50<br \/>\n 1,<\/p>\n<pre class=\"lang:default decode:true \" > $ cat var_seq.sh\r\n# Print 1 to 4 using sequences.\r\nfor i in {1..4}\r\ndo\r\n        echo $i\r\ndone\r\nstart=1\r\nend=4\r\n\r\n# Print 1 to 4 using through variables\r\necho \"Sequences expressed using variables\"\r\nfor i in {$start..$end}\r\ndo\r\n        echo $i\r\ndone\r\n\r\n$ .\/var_seq.sh\r\n1\r\n2\r\n3\r\n4\r\nSequences expressed using variables\r\n{1..4}\r\n<\/pre>\n<p>2,<\/p>\n<pre class=\"lang:default decode:true \" >unset name\r\necho ${name:-111}<\/pre>\n<p>\u7ed3\u679c111<br \/>\nname=222<br \/>\necho ${name:-111}<br \/>\n\u7ed3\u679c222<br \/>\n${name:=default}\u4f7f\u7528\u6307\u5b9a\u503c\u6765\u4ee3\u66ff\u7a7a\u7684\u6216\u8005\u6ca1\u6709\u8d4b\u503c\u7684\u53d8\u91cfname\uff1b<br \/>\n\u8c8c\u4f3c\u548c\u4e0a\u4e00\u4e2a\u4e00\u6837<\/p>\n<p>3,<\/p>\n<pre class=\"lang:default decode:true \" >$ ksh\r\n$ echo \/var\/log\/messages.{1..7..2}\r\n\/var\/log\/messages.1 \/var\/log\/messages.3 \/var\/log\/messages.5 \/var\/log\/messages.7\r\n$<\/pre>\n<p>${name:?message}\u5982\u679c\u53d8\u91cf\u4e3a\u7a7a\u6216\u8005\u672a\u8d4b\u503c\uff0c\u90a3\u4e48\u5c31\u4f1a\u663e\u793a\u51fa\u9519\u8bef\u4fe1\u606f\u5e76\u4e2d\u6b62\u811a\u672c\u7684\u6267\u884c\u540c\u65f6\u8fd4\u56de\u9000\u51fa\u78011\u3002<br \/>\n${#name} \u7ed9\u51faname\u7684\u957f\u5ea6<br \/>\n${name%word} \u4ecename\u7684\u5c3e\u90e8\u5f00\u59cb\u5220\u9664\u4e0eword\u5339\u914d\u7684\u6700\u5c0f\u90e8\u5206\uff0c\u7136\u540e\u8fd4\u56de\u5269\u4f59\u90e8\u5206<br \/>\n${name%%word} \u4ecename\u7684\u5c3e\u90e8\u5f00\u59cb\u5220\u9664\u4e0eword\u5339\u914d\u7684\u6700\u957f\u90e8\u5206\uff0c\u7136\u540e\u8fd4\u56de\u5269\u4f59\u90e8\u5206<br \/>\n${name#word} \u4ecename\u7684\u5934\u90e8\u5f00\u59cb\u5220\u9664\u4e0eword\u5339\u914d\u7684\u6700\u5c0f\u90e8\u5206\uff0c\u7136\u540e\u8fd4\u56de\u5269\u4f59\u90e8\u5206<br \/>\n${name##word} \u4ecename\u7684\u5934\u90e8\u5f00\u59cb\u5220\u9664\u4e0eword\u5339\u914d\u7684\u6700\u957f\u90e8\u5206\uff0c\u7136\u540e\u8fd4\u56de\u5269\u4f59\u90e8\u5206<\/p>\n<p>\u53c2\u8003\uff1a<br \/>\nhttp:\/\/www.thegeekstuff.com\/2010\/06\/bash-shell-brace-expansion\/#more-4614<br \/>\nhttp:\/\/www.linuxidc.com\/Linux\/2011-04\/34731.htm<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6700\u8fd1\u6709\u4eba\u95ee${}\u91cc\u9762\u7684\u53c2\u6570\u600e\u4e48\u770b\u4e0d\u61c2\u5462\uff1f ${na&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[17],"_links":{"self":[{"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=\/wp\/v2\/posts\/693"}],"collection":[{"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=693"}],"version-history":[{"count":1,"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=\/wp\/v2\/posts\/693\/revisions"}],"predecessor-version":[{"id":694,"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=\/wp\/v2\/posts\/693\/revisions\/694"}],"wp:attachment":[{"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=693"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=693"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=693"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}