{"id":2209,"date":"2012-12-04T16:54:07","date_gmt":"2012-12-04T08:54:07","guid":{"rendered":"https:\/\/www.deepin.org\/?p=2209"},"modified":"2012-12-04T16:54:07","modified_gmt":"2012-12-04T08:54:07","slug":"ps1-ps2-ps3-ps4-variables-explained","status":"publish","type":"post","link":"https:\/\/www.deepin.org.cn\/zh\/ps1-ps2-ps3-ps4-variables-explained\/","title":{"rendered":"[\u63d0\u793a] Linux Deepin \u4e2d $PS1, $PS2, $PS3, $PS4 \u7b49\u53d8\u91cf\u7684\u89e3\u91ca"},"content":{"rendered":"\u5728 Linux Deepin \u7684\u547d\u4ee4\u884c\u4e2d\uff0c\u6211\u4eec\u6709\u65f6\u4f1a\u9047\u5230 $PS1, $PS2, $PS3, $PS4 \u51e0\u4e2a\u53d8\u91cf\uff0c\u4ed6\u4eec\u5206\u522b\u4ee3\u8868\u4ec0\u4e48\u610f\u601d\u5462\uff1f<br \/>\n\u5728 Linux \u4e2d\uff0c\u4e00\u4e2a\u597d\u7684\u4e60\u60ef\u5c31\u662f\u9605\u8bfb man pages\uff0c\u6240\u4ee5\uff0c\u6211\u4eec\u5148\u6765\u67e5\u770b\u4e00\u4e0b bash \u7684\u5728\u7ebf\u6587\u6863\uff1a<\/p>\n<pre>$ man bash<\/pre>\n<p>\u6211\u4eec\u4f7f\u7528 \/PS1 \u641c\u7d22\u76f8\u5173\u6761\u76ee\uff0c\u53ef\u627e\u5230\u4e0b\u9762\u7684\u51e0\u884c\u5185\u5bb9\uff1a<\/p>\n<pre>       PS1    The  value  of  this parameter is expanded (see PROMPTING below)\n              and used as the primary prompt string.   The  default  value  is\n              ``\\s-\\v\\$ ''.\n       PS2    The  value of this parameter is expanded as with PS1 and used as\n              the secondary prompt string.  The default is ``> ''.\n       PS3    The value of this parameter is used as the prompt for the select\n              command (see SHELL GRAMMAR above).\n       PS4    The  value  of  this  parameter  is expanded as with PS1 and the\n              value is printed before each command  bash  displays  during  an\n              execution  trace.  The first character of PS4 is replicated mul\u2010\n              tiple times, as necessary, to indicate multiple levels of  indi\u2010\n              rection.  The default is ``+ ''.<\/pre>\n<p>PS1 \u53d8\u91cf\u7684\u5c55\u5f00\u503c\u7528\u4f5c\u4e3b\u63d0\u793a\u7b26\u5b57\u7b26\u4e32\u3002\u5176\u9ed8\u8ba4\u503c\u4e3a <strong>\"\\s-\\v\\$ \"<\/strong>\u3002\u5728 Linux Deepin \u4e2d\u5176\u9ed8\u8ba4\u503c\u4e3a <strong>PS1='${debian_chroot:+($debian_chroot)}\\u@\\h:\\w\\$ '<\/strong>\u3002\u6211\u4eec\u66fe\u5728<a href=\"https:\/\/www.deepin.org\/2012\/11\/22\/get-a-gentoo-like-bash-prompt-in-linux-deepin\/\">\u300a\u5728 Linux Deepin \u4e0b\u8bbe\u7f6e\u7c7b Gentoo \u7684\u5f69\u8272 Bash \u63d0\u793a\u7b26\u300b<\/a>\u4e00\u6587\u4e2d\u8bb2\u8ff0\u8fc7 PS1 \u53d8\u91cf\u7684\u7b80\u5355\u8bbe\u7f6e\uff0c\u5982\u9700\u8981\u66f4\u591a\u4fe1\u606f\uff0c\u53ef\u67e5\u770b\u5176 man pages \u7684 PROMPTING \u4e00\u8282\u53ca<a href=\"http:\/\/tldp.org\/HOWTO\/Bash-Prompt-HOWTO\/\">\u300aBash Prompt HOWTO\u300b<\/a>\u4e00\u6587\u3002<!--more--><\/p>\n<p>PS2 \u53d8\u91cf\u5c55\u5f00\u7684\u65b9\u5f0f\u4e0e PS1 \u76f8\u540c\uff0c\u5176\u5c55\u5f00\u503c\u7528\u4f5c\u6b21\u63d0\u793a\u7b26\u5b57\u7b26\u4e32\u3002\u7528\u4e8e\u63d0\u793a\u63a5\u7eed\u4f60\u5c1a\u672a\u5b8c\u6210\u8f93\u5165\u7684\u547d\u4ee4\u3002\u5176\u9ed8\u8ba4\u503c\u4e3a<strong>\"> \"<\/strong>\uff0c\u4e5f\u53ef\u4ee5\u81ea\u5b9a\u4e49\uff0c\u5982\uff1a<\/p>\n<pre>$ export PS2='Secondary: '\n$ for i in *\nSecondary: do\nSecondary: echo $i\nSecondary: done\napple.txt\ntest\ntmp.txt<\/pre>\n<p>PS3 \u53d8\u91cf\u7684\u503c\u7528\u4e8e\u7528\u4f5c select \u547d\u4ee4\u7684\u63d0\u793a\u7b26\u3002\u5047\u8bbe\u6211\u4eec\u6709\u4e00\u4e2a\u540d\u4e3a seasons \u7684\u811a\u672c\uff0c\u5176\u5185\u5bb9\u4e3a\uff1a<\/p>\n<pre>#! \/usr\/bin\/env bash\necho \"Which season do you like best?\"\nselect i in spring summer autumn winter\ndo\n        case $i in\n                spring) echo \"Spring\";;\n                summer) echo \"Summer\";;\n                autumn) echo \"Autumn\";;\n                winter) echo \"Winter\";;\n        esac\ndone<\/pre>\n<p>\u5176\u8f93\u51fa\u4f1a\u50cf\u4e0b\u9762\u8fd9\u6837\uff1a<\/p>\n<pre>Which season do you like best?\n1) spring\n2) summer\n3) autumn\n4) winter\n#? 1\nSpring\n#? 2<\/pre>\n<p>\u8fd9\u6b21\uff0c\u6211\u4eec\u4fee\u6539\u811a\u672c\u7684\u7b2c\u4e8c\u884c\uff0c\u5b9a\u4e49 PS3 \u53d8\u91cf\uff1a<\/p>\n<pre>PS3=\u201cWhich season do you like best?\u201d<\/pre>\n<p>\u8fd9\u6b21\u811a\u672c\u7684\u8f93\u51fa\u4f1a\u53d8\u4e3a\uff1a<\/p>\n<pre>1) spring\n2) summer\n3) autumn\n4) winter\nWhich season do you like best?1\nSpring\nWhich season do you like best?<\/pre>\n<p>PS4 \u53d8\u91cf\u5c55\u5f00\u7684\u65b9\u5f0f\u4e0e PS1 \u76f8\u540c\u3002\u5728\u6267\u884c\u8ddf\u8e2a\u65f6\u8be5\u5c55\u5f00\u503c\u90fd\u4f1a\u663e\u793a\u5728\u6bcf\u4e00\u6761\u547d\u4ee4\u7684\u524d\u9762\u3002PS4 \u7684\u503c\u7684\u7b2c\u4e00\u4e2a\u5b57\u7b26\u4f1a\u6309\u9700\u91cd\u590d\u591a\u6b21\uff0c\u7528\u4e8e\u8868\u793a\u591a\u4e2a\u95f4\u63a5\u5c42\u6b21\u3002\u5176\u9ed8\u8ba4\u503c\u4e3a \"+ \"\u3002\u73b0\u5728\u6211\u4eec\u4f7f\u7528 <strong>bash -x .\/seasons<\/strong> \u518d\u6b21\u6267\u884c\u4e0a\u9762\u7684\u811a\u672c\uff0c\u6216\u5c06\u8be5\u811a\u672c\u7684\u6807\u5934\u4fee\u6539\u4e3a\u4e0b\u9762\u7684\u5185\u5bb9\uff1a<\/p>\n<pre>#! \/bin\/bash -x<\/pre>\n<p>\u6216<\/p>\n<pre>#! \/usr\/bin\/env bash\nset -x<\/pre>\n<p>\u6211\u4eec\u4f1a\u53d1\u73b0\uff0c\u9ed8\u8ba4\u72b6\u51b5\u4e0b\u4f1a\u5728\u547d\u4ee4\u524d\u663e\u793a +x \u8fd9\u4e2a\u63d0\u793a\u7b26\u3002<br \/>","protected":false},"excerpt":{"rendered":"<p>\u5728 Linux Deepin \u7684\u547d\u4ee4\u884c\u4e2d\uff0c\u6211\u4eec\u6709\u65f6\u4f1a\u9047\u5230 $PS1, $PS2, $PS3, $PS4 \u51e0\u4e2a\u53d8\u91cf\uff0c\u4ed6\u4eec\u5206\u522b\u4ee3\u8868\u4ec0\u4e48\u610f\u601d\u5462\uff1f \u5728 Linux \u4e2d\uff0c\u4e00\u4e2a\u597d\u7684\u4e60\u60ef\u5c31\u662f\u9605\u8bfb man pages\uff0c\u6240\u4ee5\uff0c\u6211\u4eec\u5148\u6765\u67e5\u770b\u4e00\u4e0b bash \u7684\u5728\u7ebf\u6587\u6863\uff1a $ man bash \u6211\u4eec\u4f7f\u7528 \/PS1 \u641c\u7d22\u76f8\u5173\u6761\u76ee\uff0c\u53ef\u627e\u5230\u4e0b\u9762\u7684\u51e0\u884c\u5185\u5bb9\uff1a PS1 The value of this parameter is  ...<a href=https:\/\/www.deepin.org.cn\/zh\/ps1-ps2-ps3-ps4-variables-explained\/>\u9605\u8bfb\u66f4\u591a<\/a><\/p>\n","protected":false},"author":27,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[93],"tags":[],"_links":{"self":[{"href":"https:\/\/www.deepin.org.cn\/zh\/wp-json\/wp\/v2\/posts\/2209"}],"collection":[{"href":"https:\/\/www.deepin.org.cn\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.deepin.org.cn\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.deepin.org.cn\/zh\/wp-json\/wp\/v2\/users\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/www.deepin.org.cn\/zh\/wp-json\/wp\/v2\/comments?post=2209"}],"version-history":[{"count":0,"href":"https:\/\/www.deepin.org.cn\/zh\/wp-json\/wp\/v2\/posts\/2209\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.deepin.org.cn\/zh\/wp-json\/wp\/v2\/media?parent=2209"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.deepin.org.cn\/zh\/wp-json\/wp\/v2\/categories?post=2209"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.deepin.org.cn\/zh\/wp-json\/wp\/v2\/tags?post=2209"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}