<div class="rich_media_content js_underline_content
 " id="js_content"> <section data-mpa-powered-by="yiban.io" style="white-space: normal;text-align: center;"><br></section><section style='margin-bottom: 20px;white-space: normal;caret-color: rgb(62, 62, 62);font-family: -apple-system-font, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;text-size-adjust: auto;color: rgb(62, 62, 62);font-size: 16px;letter-spacing: 1px;word-spacing: 1px;text-align: left;'><p id="_img_parent_tmp" style="text-align:center"><strong style='color: rgb(0, 0, 0);word-spacing: 0.1em;caret-color: rgb(51, 51, 51);font-family: -apple-system, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);font-size: 18px;outline: 0px;'><span style='outline: 0px;font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;'><strong style='font-family: -apple-system, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;'><span style="letter-spacing: 1px;"><img src="https://img.php.cn/upload/article/001/275/013/5e9e2e09cb66ac70555a8b09900a7da1-0.png" alt="シェル スクリプトに関する知っておくべき古典的な 13 の質問" ></span></strong></span></strong></p> </section><ul class="list-paddingleft-1" mp-original-font-size="16" mp-original-line- style="max-width:90%" style='margin-top: 8px;margin-bottom: 8px;padding-left: 25px;outline: 0px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;text-align: left;white-space: normal;text-size-adjust: auto;visibility: visible;line-height: 25px;'>##シェルに関する古典的な 13 の質問<li style="outline: 0px;visibility: visible;line-height: 25px;"><p mp-original-font-size="16" mp-original-line-height="25" style="outline: 0px;visibility: visible;line-height: 25px;"></p></li> <ul class="list-paddingleft-1" mp-original-font-size="16" mp-original-line-height="25" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;outline: 0px;list-style-type: square;visibility: visible;line-height: 25px;">1. なぜシェルと呼ばれるのですか?<li style="outline: 0px;visibility: visible;line-height: 25px;"><p mp-original-font-size="16" mp-original-line-height="25" style="outline: 0px;visibility: visible;line-height: 25px;"></p></li>2 。シェル プロンプト (PS1) とキャリッジ リターン (CR) の関係は何ですか?<li style="outline: 0px;visibility: visible;line-height: 25px;"><p mp-original-font-size="16" mp-original-line-height="25" style="outline: 0px;visibility: visible;line-height: 25px;"></p></li>3. 他の人がエコーすると、あなたもエコーします。エコーについてどれくらい知っていますか?<li style="outline: 0px;visibility: visible;line-height: 25px;"><p mp-original-font-size="16" mp-original-line-height="25" style="outline: 0px;visibility: visible;line-height: 25px;"></p></li>4. "" (二重引用符) と (一重引用符) の違いは何ですか? <li style="outline: 0px;visibility: visible;line-height: 25px;"><p mp-original-font-size="16" mp-original-line-height="25" style="outline: 0px;visibility: visible;line-height: 25px;"></p></li>5. var=value?と エクスポート はどう違いますか? <li style="outline: 0px;visibility: visible;line-height: 25px;"><p mp-original-font-size="16" mp-original-line-height="25" style="outline: 0px;visibility: visible;line-height: 25px;"></p></li>6. exec とsource の違いは何ですか? <li style="outline: 0px;visibility: visible;line-height: 25px;"><p mp-original-font-size="16" mp-original-line-height="25" style="outline: 0px;visibility: visible;line-height: 25px;"></p></li>7. ( ) と { } の違いは何ですか? <li style="outline: 0px;visibility: visible;line-height: 25px;"> <li style="outline: 0px;visibility: visible;line-height: 25px;"><p mp-original-font-size="16" mp-original-line-height="25" style="outline: 0px;visibility: visible;line-height: 25px;">8.<span> </span><span mp-original-font-size="16" mp-original-line-height="25" style="outline: 0px;cursor: pointer;visibility: visible;line-height: 25px;"><span data-formula="(()) 与 " data-formula-type="inline-equation" mp-original-font-size="16" mp-original-line-height="25" role="presentation" style="outline: 0px;visibility: visible;line-height: 25px;"><svg aria-hidden="true" focusable="false" mp-original-font-size="16" mp-original-line-height="25" role="img" style="vertical-align: -0.566ex;width: 6.259ex;height: 2.262ex;visibility: visible;line-height: 25px;" viewbox="0 -750 2766.3 1000" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor" mp-original-font-size="16" mp-original-line-height="25" stroke="currentColor" stroke-width="0" style="visibility: visible;line-height: 25px;" transform="matrix(1 0 0 -1 0 0)"><g data-mml-node="math" mp-original-font-size="16" mp-original-line-height="25" style="visibility: visible;line-height: 25px;"><g data-mml-node="mo" mp-original-font-size="16" mp-original-line-height="25" style="visibility: visible;line-height: 25px;"><path d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z" data-c="28" mp-original-font-size="16" mp-original-line-height="25" style="visibility: visible;line-height: 25px;"></path></g><g data-mml-node="mo" mp-original-font-size="16" mp-original-line-height="25" style="visibility: visible;line-height: 25px;" transform="translate(389, 0)"><path d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z" data-c="28" mp-original-font-size="16" mp-original-line-height="25" style="visibility: visible;line-height: 25px;"> ####################################そして############# </path></g>() と ${} の違いは何ですか? <g data-mml-node="mo" mp-original-font-size="16" mp-original-line-height="25" style="visibility: visible;line-height: 25px;" transform="translate(778, 0)"></g></g></g></svg></span></span></p></li> <li style="outline: 0px;visibility: visible;line-height: 25px;"><p mp-original-font-size="16" mp-original-line-height="25" style="outline: 0px;visibility: visible;line-height: 25px;">9.<span> </span><span mp-original-font-size="16" mp-original-line-height="25" style="outline: 0px;cursor: pointer;visibility: visible;line-height: 25px;"><svg aria-hidden="true" focusable="false" mp-original-font-size="16" mp-original-line-height="25" role="img" style="vertical-align: -0.452ex;width: 4.499ex;height: 2.149ex;visibility: visible;line-height: 25px;" viewbox="0 -750 1988.3 950" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor" mp-original-font-size="16" mp-original-line-height="25" stroke="currentColor" stroke-width="0" style="visibility: visible;line-height: 25px;" transform="matrix(1 0 0 -1 0 0)"><g data-mml-node="math" mp-original-font-size="16" mp-original-line-height="25" style="visibility: visible;line-height: 25px;"><g data-mjx-texclass="ORD" data-mml-node="TeXAtom" mp-original-font-size="16" mp-original-line-height="25" style="visibility: visible;line-height: 25px;"><g data-mml-node="mo" mp-original-font-size="16" mp-original-line-height="25" style="visibility: visible;line-height: 25px;"><path d="M56 347Q56 429 86 498T164 612T270 680T386 705Q522 705 622 603T722 349Q722 126 608 126Q541 126 513 176Q512 177 512 179T510 182L509 183Q508 183 503 177T487 163T464 146T429 132T385 126Q311 126 251 186T190 347Q190 448 251 508T385 568Q426 568 460 548T509 511T531 479H555Q580 479 582 478Q586 477 587 468Q588 454 588 338V260Q588 200 593 182T619 163Q641 163 655 178T674 223T680 273T682 325V330Q682 426 647 500Q611 569 544 618T388 668Q271 668 184 577T96 347Q96 216 180 121T396 26Q421 26 446 28T493 34T535 43T573 52T605 63T629 72T647 80T657 84H716Q722 78 722 74Q722 65 675 45T547 7T392 -11Q255 -11 156 90T56 347ZM274 347Q274 266 308 214T390 162Q420 162 449 182T498 235L504 245V449L498 459Q453 532 387 532Q347 532 311 483T274 347Z" data-c="40" mp-original-font-size="16" mp-original-line-height="25" style="visibility: visible;line-height: 25px;"></path></g></g></g> </g></svg> と </span>* の違いは何ですか? </p></li> <li style="outline: 0px;visibility: visible;line-height: 25px;"><p mp-original-font-size="16" mp-original-line-height="25" style="outline: 0px;visibility: visible;line-height: 25px;">10. && と || の違いは何ですか? </p></li> <li style="outline: 0px;visibility: visible;line-height: 25px;"><p mp-original-font-size="16" mp-original-line-height="25" style="outline: 0px;visibility: visible;line-height: 25px;">11. > と < の違いは何ですか? </p></li> <li style="outline: 0px;visibility: visible;line-height: 25px;"><p mp-original-font-size="16" mp-original-line-height="25" style="outline: 0px;visibility: visible;line-height: 25px;">12. if または case が必要ですか? </p></li> <li style="outline: 0px;visibility: visible;line-height: 25px;"><p mp-original-font-size="16" mp-original-line-height="25" style="outline: 0px;visibility: visible;line-height: 25px;">13. 何のために? while と until の違いは何ですか? </p></li> </ul> </ul> <h3 data-tool="mdnice编辑器" mp-original-font-size="20" mp-original-line-height="32" style='margin-top: 30px;margin-bottom: 15px;outline: 0px;font-weight: bold;font-size: 20px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;visibility: visible;line-height: 32px;'>1. なぜシェルと呼ばれるのですか?</h3> <blockquote data-tool="mdnice编辑器" mp-original-font-size="14.399999618530273" mp-original-line-height="23" style='margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;outline: 0px;border-left-color: rgba(0, 0, 0, 0.4);color: rgb(106, 115, 125);font-size: 14.4px;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;overflow: auto;background-color: rgba(0, 0, 0, 0.047);visibility: visible;line-height: 23px;'><p mp-original-font-size="16" mp-original-line-height="26" style="padding-top: 8px;padding-bottom: 8px;outline: 0px;font-size: 16px;color: black;line-height: 26px;visibility: visible;">コンピュータの動作はハードウェアから分離できないことはわかっていますが、ユーザーは直接操作することはできません。ハードウェアのドライバーは、<code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;visibility: visible;line-height: 26px;'>オペレーティング システム</code> (<code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;visibility: visible;line-height: 26px;'>OS</code>、<code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;visibility: visible;line-height: 26px;'>オペレーティング システム</code>) と呼ばれるソフトウェアを通じてのみ制御されます。 <code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;visibility: visible;line-height: 26px;'>linux</code> 厳密に言えば、これは単なる <code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;visibility: visible;line-height: 26px;'> オペレーティング システム </code> (<code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;visibility: visible;line-height: 26px;'>OS</code>) であり、これを <code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;visibility: visible;line-height: 26px;'>kernel</code>(<code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;visibility: visible;line-height: 26px;'>kernel</code>) と呼びます。 )。 </p></blockquote> <blockquote data-tool="mdnice编辑器" mp-original-font-size="14.399999618530273" mp-original-line-height="23" style='margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;outline: 0px;border-left-color: rgba(0, 0, 0, 0.4);color: rgb(106, 115, 125);font-size: 14.4px;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;overflow: auto;background-color: rgba(0, 0, 0, 0.047);line-height: 23px;'><p mp-original-font-size="16" mp-original-line-height="26" style="padding-top: 8px;padding-bottom: 8px;outline: 0px;font-size: 16px;color: black;line-height: 26px;"> ユーザーは <code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'>kernel</code> を直接操作することはできませんが、<code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'>kernel</code> のシェル プログラム、いわゆる <code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'>shell</code> を介して操作することができます。 <code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'>kernel</code> と通信してください。 <code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'>shell</code> はユーザーとシステムの間の <code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'>インターフェイス</code>であり、ユーザーは <code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'>コマンド ライン</code>(<code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'>コマンド ライン</code>)を渡すことのみを許可されます。システムを使って仕事をやり遂げる。したがって、<br mp-original-font-size="16" mp-original-line-height="26" style="outline: 0px;line-height: 26px;">shell の最も単純な定義は次のようになります - コマンド インタープリタ (コマンド インタープリタ):</p></blockquote> <ul class="list-paddingleft-1" data-tool="mdnice编辑器" mp-original-font-size="16" mp-original-line-height="25" style='margin-top: 8px;margin-bottom: 8px;padding-left: 25px;outline: 0px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 25px;'> <li style="outline: 0px;line-height: 25px;"><section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);">ユーザーのコマンドをコア処理に変換します。</section></li> <li style="outline: 0px;line-height: 25px;"><section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);">同時に、コア処理の結果をユーザーに変換します。 </section></li> </ul> <blockquote data-tool="mdnice编辑器" mp-original-font-size="14.399999618530273" mp-original-line-height="23" style='margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;outline: 0px;border-left-color: rgba(0, 0, 0, 0.4);color: rgb(106, 115, 125);font-size: 14.4px;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;overflow: auto;background-color: rgba(0, 0, 0, 0.047);line-height: 23px;'> <p mp-original-font-size="16" mp-original-line-height="26" style="padding-top: 8px;padding-bottom: 8px;outline: 0px;font-size: 16px;color: black;line-height: 26px;">異なる <code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'>OS</code> は異なる <code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'>カーネル </code>;<br mp-original-font-size="16" mp-original-line-height="26" style="outline: 0px;line-height: 26px;">同じ <code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'>カーネル </code> 上で、あなたは別の <code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'>shells</code><br mp-original-font-size="16" mp-original-line-height="26" style="outline: 0px;line-height: 26px;">Common <code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'>shell</code> include<code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'>sh; bash; csh; ksh;</code>etc</p> も使用できます</blockquote> <h3 data-tool="mdnice编辑器" mp-original-font-size="20" mp-original-line-height="32" style='margin-top: 30px;margin-bottom: 15px;outline: 0px;font-weight: bold;font-size: 20px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 32px;'>2. シェル プロンプト (PS1) とキャリッジ リターン (CR) の関係は何ですか? </h3> <blockquote data-tool="mdnice编辑器" mp-original-font-size="14.399999618530273" mp-original-line-height="23" style='margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;outline: 0px;border-left-color: rgba(0, 0, 0, 0.4);color: rgb(106, 115, 125);font-size: 14.4px;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;overflow: auto;background-color: rgba(0, 0, 0, 0.047);line-height: 23px;'> <p mp-original-font-size="16" mp-original-line-height="26" style="padding-top: 8px;padding-bottom: 8px;outline: 0px;font-size: 16px;color: black;line-height: 26px;">シェル端末に正常にログインすると、カーソルの左側の部分 <code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'>cursor</code> が呼び出されます プロンプト <code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'>prompt</code><br mp-original-font-size="16" mp-original-line-height="26" style="outline: 0px;line-height: 26px;"> です 通常、一般ユーザーは <code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'>$</code> を使用し、管理者ユーザー <code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'>root</code> は <code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'> を使用します</code></p>#。</blockquote> <ul class="list-paddingleft-1" data-tool="mdnice编辑器" mp-original-font-size="16" mp-original-line-height="25" style='margin-top: 8px;margin-bottom: 8px;padding-left: 25px;outline: 0px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 25px;'> <li style="outline: 0px;line-height: 25px;">#シェル プロンプト: コマンドを入力できます。 <section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);">コマンドを入力した後、<br mp-original-font-size="16" mp-original-line-height="26" style="outline: 0px;line-height: 26px;">CR (キャリッジ リターン)<code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'> 文字が読み取られるまで待ちます</code></section> </li> <li style="outline: 0px;line-height: 25px;">キャリッジ リターン: コマンドを実行できます <section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);"></section> </li> </ul> <blockquote data-tool="mdnice编辑器" mp-original-font-size="14.399999618530273" mp-original-line-height="23" style='margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;outline: 0px;border-left-color: rgba(0, 0, 0, 0.4);color: rgb(106, 115, 125);font-size: 14.4px;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;overflow: auto;background-color: rgba(0, 0, 0, 0.047);line-height: 23px;'>#技術的な詳細を見ると、シェルはコマンド ラインに入力されたテキストを変換します。 IFS (Internal Field Seperator) に基づいて「フィールド」(単語/フィールド) に分解されます。次に、特殊文字 (メタ) が最初に処理され、最後にコマンド ライン全体が再編成されます。 <p mp-original-font-size="16" mp-original-line-height="26" style="padding-top: 8px;padding-bottom: 8px;outline: 0px;font-size: 16px;color: black;line-height: 26px;"></p> </blockquote>3. 他の人がエコーし、あなたもエコーするとき、あなたはエコーについてどれだけ知っているかを尋ねますか? <h3 data-tool="mdnice编辑器" mp-original-font-size="20" mp-original-line-height="32" style='margin-top: 30px;margin-bottom: 15px;outline: 0px;font-weight: bold;font-size: 20px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 32px;'></h3> <blockquote data-tool="mdnice编辑器" mp-original-font-size="14.399999618530273" mp-original-line-height="23" style='margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;outline: 0px;border-left-color: rgba(0, 0, 0, 0.4);color: rgb(106, 115, 125);font-size: 14.4px;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;overflow: auto;background-color: rgba(0, 0, 0, 0.047);line-height: 23px;'><p mp-original-font-size="16" mp-original-line-height="26" style="padding-top: 8px;padding-bottom: 8px;outline: 0px;font-size: 16px;color: black;line-height: 26px;">echo<code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'>送信 </code>引数<code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'> から </code>標準出力 (stdout)<code mp-original-font-size="14" mp-original-line-height="26" style='margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;'>、通常は画面に表示されます</code></p></blockquote> <ul class="list-paddingleft-1" data-tool="mdnice编辑器" mp-original-font-size="16" mp-original-line-height="25" style='margin-top: 8px;margin-bottom: 8px;padding-left: 25px;outline: 0px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 25px;'> <li style="outline: 0px;line-height: 25px;">#stdin 標準入力<section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);"></section> </li> <li style="outline: 0px;line-height: 25px;">stdout 標準出力<section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);"></section> </li>#stderr 標準エラー出力<li style="outline: 0px;line-height: 25px;"> <section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);"></section><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">echo -n # 取消换行符 echo -e # 启用反斜杠转译</pre><div class="contentsignin">ログイン後にコピー</div></div></li>4. ""(二重引用符) と (一重引用符) の違いは何ですか?</ul><h3 data-tool="mdnice编辑器" mp-original-font-size="20" mp-original-line-height="32" style="margin-top: 30px;margin-bottom: 15px;outline: 0px;font-weight: bold;font-size: 20px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 32px;"></h3><ul class="list-paddingleft-1" data-tool="mdnice编辑器" mp-original-font-size="16" mp-original-line-height="25" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;outline: 0px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 25px;">ハードクオート:<li style="outline: 0px;line-height: 25px;">'' <section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);">(一重引用符)、すべての引用符を閉じてください<code mp-original-font-size="14" mp-original-line-height="26" style="margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;"></code></section></li>ソフトクォート:<li style="outline: 0px;line-height: 25px;">""<section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);">(二重引用符)、<code mp-original-font-size="14" mp-original-line-height="26" style="margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;">$</code>quote## のままにしてください<code mp-original-font-size="14" mp-original-line-height="26" style="margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;"></code></section>#5. var=value? エクスポートとエクスポートの違いは何ですか?</h3><blockquote data-tool="mdnice编辑器" mp-original-font-size="14.399999618530273" mp-original-line-height="23" style="margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;outline: 0px;border-left-color: rgba(0, 0, 0, 0.4);color: rgb(106, 115, 125);font-size: 14.4px;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;overflow: auto;background-color: rgba(0, 0, 0, 0.047);line-height: 23px;"><p mp-original-font-size="16" mp-original-line-height="26" style="padding-top: 8px;padding-bottom: 8px;outline: 0px;font-size: 16px;color: black;line-height: 26px;">变量定义:<code mp-original-font-size="14" mp-original-line-height="26" style="margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;">name=value</code>,等号左右两边不能使用分隔符。<br mp-original-font-size="16" mp-original-line-height="26" style="outline: 0px;line-height: 26px;"/>变量替换:<code mp-original-font-size="14" mp-original-line-height="26" style="margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;">echo ${name}</code><br mp-original-font-size="16" mp-original-line-height="26" style="outline: 0px;line-height: 26px;"/>export变量:<code mp-original-font-size="14" mp-original-line-height="26" style="margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;">export name=value</code>,使变量成为环境变量</p></blockquote><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;"># 本地变量 A=B # 取消变量 unset A # 环境变量 export A=B</pre><div class="contentsignin">ログイン後にコピー</div></div><h3 data-tool="mdnice编辑器" mp-original-font-size="20" mp-original-line-height="32" style="margin-top: 30px;margin-bottom: 15px;outline: 0px;font-weight: bold;font-size: 20px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 32px;">6. exec跟source差在哪?</h3><blockquote data-tool="mdnice编辑器" mp-original-font-size="14.399999618530273" mp-original-line-height="23" style="margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;outline: 0px;border-left-color: rgba(0, 0, 0, 0.4);color: rgb(106, 115, 125);font-size: 14.4px;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;overflow: auto;background-color: rgba(0, 0, 0, 0.047);line-height: 23px;"><p mp-original-font-size="16" mp-original-line-height="26" style="padding-top: 8px;padding-bottom: 8px;outline: 0px;font-size: 16px;color: black;line-height: 26px;">环境变量只能从父进程到子进程单向传递。换句话说:在子进程中环境如何变更,均不会影响父进程的环境。<br mp-original-font-size="16" mp-original-line-height="26" style="outline: 0px;line-height: 26px;"/>当我们执行一个shell script时,其实是先产生一个sub-shell的子进程, 然后sub-shell再去产生命令行的子进程。另外,搜索公众号Linux就该这样学后台回复“git书籍”,获取一份惊喜礼包。</p></blockquote><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;"># 创建子shell执行脚本 ./sh # 当前shell执行 source sh # 当前shell执行后退出 exec sh</pre><div class="contentsignin">ログイン後にコピー</div></div><h3 data-tool="mdnice编辑器" mp-original-font-size="20" mp-original-line-height="32" style="margin-top: 30px;margin-bottom: 15px;outline: 0px;font-weight: bold;font-size: 20px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 32px;">7. ( ) 与 { } 差在哪?</h3><p data-tool="mdnice编辑器" mp-original-font-size="16" mp-original-line-height="26" style="padding-top: 8px;padding-bottom: 8px;outline: 0px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 26px;"><code mp-original-font-size="14" mp-original-line-height="26" style="margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;">( )</code><span> </span>将<code mp-original-font-size="14" mp-original-line-height="26" style="margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;">command group</code>置于<code mp-original-font-size="14" mp-original-line-height="26" style="margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;">sub-shell</code>执行<br mp-original-font-size="16" mp-original-line-height="26" style="outline: 0px;line-height: 26px;"/><code mp-original-font-size="14" mp-original-line-height="26" style="margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;">{ }</code><span> </span>则是在同一个<code mp-original-font-size="14" mp-original-line-height="26" style="margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;">shell</code>内完成</p><h3 data-tool="mdnice编辑器" mp-original-font-size="20" mp-original-line-height="32" style="margin-top: 30px;margin-bottom: 15px;outline: 0px;font-weight: bold;font-size: 20px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 32px;">8.<span> </span><span mp-original-font-size="20" mp-original-line-height="32" style="outline: 0px;cursor: pointer;line-height: 32px;"><span data-formula="(()) 与 " data-formula-type="inline-equation" mp-original-font-size="20" mp-original-line-height="32" role="presentation" style="outline: 0px;line-height: 32px;"><svg aria-hidden="true" focusable="false" mp-original-font-size="20" mp-original-line-height="32" role="img" style="vertical-align: -0.566ex;width: 6.259ex;height: 2.262ex;line-height: 32px;" viewbox="0 -750 2766.3 1000" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor" mp-original-font-size="20" mp-original-line-height="32" stroke="currentColor" stroke-width="0" style="line-height: 32px;" transform="matrix(1 0 0 -1 0 0)"><g data-mml-node="math" mp-original-font-size="20" mp-original-line-height="32" style="line-height: 32px;"><g data-mml-node="mo" mp-original-font-size="20" mp-original-line-height="32" style="line-height: 32px;"><path d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z" data-c="28" mp-original-font-size="20" mp-original-line-height="32" style="line-height: 32px;"></path></g><g data-mml-node="mo" mp-original-font-size="20" mp-original-line-height="32" style="line-height: 32px;" transform="translate(389, 0)"><path d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z" data-c="28" mp-original-font-size="20" mp-original-line-height="32" style="line-height: 32px;"></path> ##############################そして################### ##() と ${} の違いは何ですか? </g><g data-mml-node="mo" mp-original-font-size="20" mp-original-line-height="32" style="line-height: 32px;" transform="translate(778, 0)"><path d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z" data-c="29" mp-original-font-size="20" mp-original-line-height="32" style="line-height: 32px;"></path></g>$()<g data-mml-node="mo" mp-original-font-size="20" mp-original-line-height="32" style="line-height: 32px;" transform="translate(1167, 0)"> と ``(バッククォート) はコマンドの置換に使用されます。</section></li><li style="outline: 0px;line-height: 25px;"><section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);"><code mp-original-font-size="14" mp-original-line-height="26" style="margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;">${var}</code> と <span> </span><code mp-original-font-size="14" mp-original-line-height="26" style="margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;">$var</code><span> </span> はどちらも変数置換に使用されます。 。</section></li></ul><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;"># 假设我们定义了一个变量为: file=/dir1/dir2/dir3/my.file.txt # 我们可以用 ${ } 分别替换获得不同的值: # shell字符串的非贪婪(最小匹配)左删除 ${file#*/} # 拿掉第一条 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt ${file#*.} #拿掉第一个 . 及其左边的字符串:file.txt # shell字符串的贪婪(最大匹配)左删除 ${file##*/} # 拿掉最后一条 / 及其左边的字符串:my.file.txt ${file##*.} # 拿掉最后一个 . 及其左边的字符串:txt # shell字符串的非贪婪(最小匹配)右删除: ${file%/*} # 拿掉最后条 / 及其右边的字符串:/dir1/dir2/dir3 ${file%.*} # 拿掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file # shell字符串的贪婪(最大匹配)右删除: ${file%%/*} # 拿掉第一条 / 及其右边的字符串:(空值) ${file%%.*} # 拿掉第一个 . 及其右边的字符串:/dir1/dir2/dir3/my 记忆的方法为: # 是去掉左边(在键盘上 # 在 $ 之左边) % 是去掉右边(在键盘上 % 在 $ 之右边) 单一符号是最小匹配﹔两个符号是最大匹配。</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;"># shell字符串取子串: ${file:0:5}:提取最左边的 5 个字节:/dir1 ${file:5:5}:提取第 5 个字节右边的连续 5 个字节:/dir2 # shell字符串变量值的替换: ${file/dir/path}:将第一个 dir 提换为 path:/path1/dir2/dir3/my.file.txt ${file//dir/path}:将全部 dir 提换为 path:/path1/path2/path3/my.file.txt # ${}还可针对变量的不同状态(没设定、空值、非空值)进行赋值: ${file-my.file.txt} :假如 $file 没有设定,则使用 my.file.txt 作传回值。(空值及非空值时不作处理) ${file:-my.file.txt} :假如 $file 没有设定或为空值,则使用 my.file.txt 作传回值。 (非空值时不作处理) ${file+my.file.txt} :假如 $file 设为空值或非空值,均使用 my.file.txt 作传回值。(没设定时不作处理) ${file:+my.file.txt} :若 $file 为非空值,则使用 my.file.txt 作传回值。 (没设定及空值时不作处理) ${file=my.file.txt} :若 $file 没设定,则使用 my.file.txt 作传回值,同时将 $file 赋值为 my.file.txt 。 (空值及非空值时不作处理) ${file:=my.file.txt} :若 $file 没设定或为空值,则使用 my.file.txt 作传回值,同时将 $file 赋值为 my.file.txt 。 (非空值时不作处理) ${file?my.file.txt} :若 $file 没设定,则将 my.file.txt 输出至 STDERR。 (空值及非空值时不作处理) ${file:?my.file.txt} :若 $file 没设定或为空值,则将 my.file.txt 输出至 STDERR。 (非空值时不作处理) tips: 以上的理解在于, 你一定要分清楚 unset 与 null 及 non-null 这三种赋值状态. 一般而言, : 与 null 有关, 若不带 : 的话, null 不受影响, 若带 : 则连 null 也受影响.</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;"># 计算shell字符串变量的长度:${#var} ${#var} 可计算出变量值的长度: ${#file} 可得到 27 ,因为 /dir1/dir2/dir3/my.file.txt 刚好是 27 个字节... # bash数组(array)的处理方法 数组: A=(a b c d) 引用数组: ${A[@]} ${A[*]} 访问数组成员 ${A[0]} 计算数组长度 ${#A[@]} ${#A[*]} 数组重新赋值 A[2]=xyz # $(( ))是用来做整数运算的 a=5;b=7;c=2; echo $(( a + b * c))</pre><div class="contentsignin">ログイン後にコピー</div></div><h3 data-tool="mdnice编辑器" mp-original-font-size="20" mp-original-line-height="32" style="margin-top: 30px;margin-bottom: 15px;outline: 0px;font-weight: bold;font-size: 20px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 32px;">9.<span> </span><span mp-original-font-size="20" mp-original-line-height="32" style="outline: 0px;cursor: pointer;line-height: 32px;"><svg aria-hidden="true" focusable="false" mp-original-font-size="20" mp-original-line-height="32" role="img" style="vertical-align: -0.452ex;width: 4.499ex;height: 2.149ex;line-height: 32px;" viewbox="0 -750 1988.3 950" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor" mp-original-font-size="20" mp-original-line-height="32" stroke="currentColor" stroke-width="0" style="line-height: 32px;" transform="matrix(1 0 0 -1 0 0)"><g data-mml-node="math" mp-original-font-size="20" mp-original-line-height="32" style="line-height: 32px;"><g data-mjx-texclass="ORD" data-mml-node="TeXAtom" mp-original-font-size="20" mp-original-line-height="32" style="line-height: 32px;"><g data-mml-node="mo" mp-original-font-size="20" mp-original-line-height="32" style="line-height: 32px;"><path d="M56 347Q56 429 86 498T164 612T270 680T386 705Q522 705 622 603T722 349Q722 126 608 126Q541 126 513 176Q512 177 512 179T510 182L509 183Q508 183 503 177T487 163T464 146T429 132T385 126Q311 126 251 186T190 347Q190 448 251 508T385 568Q426 568 460 548T509 511T531 479H555Q580 479 582 478Q586 477 587 468Q588 454 588 338V260Q588 200 593 182T619 163Q641 163 655 178T674 223T680 273T682 325V330Q682 426 647 500Q611 569 544 618T388 668Q271 668 184 577T96 347Q96 216 180 121T396 26Q421 26 446 28T493 34T535 43T573 52T605 63T629 72T647 80T657 84H716Q722 78 722 74Q722 65 675 45T547 7T392 -11Q255 -11 156 90T56 347ZM274 347Q274 266 308 214T390 162Q420 162 449 182T498 235L504 245V449L498 459Q453 532 387 532Q347 532 311 483T274 347Z" data-c="40" mp-original-font-size="20" mp-original-line-height="32" style="line-height: 32px;"></path></g></g></g></g></svg>与</span>* 区别在哪?</h3><ul class="list-paddingleft-1" data-tool="mdnice编辑器" mp-original-font-size="16" mp-original-line-height="25" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;outline: 0px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 25px;"><li style="outline: 0px;line-height: 25px;"><section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);"><code mp-original-font-size="14" mp-original-line-height="26" style="margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;">"$@"</code><span> </span>则可得到 "p1" "p2 p3" "p4" 这三个不同的词段</section></li><li style="outline: 0px;line-height: 25px;"><section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);"><code mp-original-font-size="14" mp-original-line-height="26" style="margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;">"$*"</code><span> </span>则可得到 "p1 p2 p3 p4" 这一整串单一的词段</section></li></ul><h3 data-tool="mdnice编辑器" mp-original-font-size="20" mp-original-line-height="32" style="margin-top: 30px;margin-bottom: 15px;outline: 0px;font-weight: bold;font-size: 20px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 32px;">10. && 与 || 差在哪?</h3><ol class="list-paddingleft-1" data-tool="mdnice编辑器" mp-original-font-size="16" mp-original-line-height="25" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;outline: 0px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 25px;"><li style="outline: 0px;line-height: 25px;">#テスト コマンドには 2 つの形式があります<section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);"></section></li></ol><ul class="list-paddingleft-1" data-tool="mdnice编辑器" mp-original-font-size="16" mp-original-line-height="25" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;outline: 0px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 25px;"><li style="outline: 0px;line-height: 25px;">テスト式<section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);"></section></li><li style="outline: 0px;line-height: 25px;"> [式]<section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);"></section></li></ul><ol class="list-paddingleft-1" data-tool="mdnice编辑器" mp-original-font-size="16" mp-original-line-height="25" start="2" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;outline: 0px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 25px;"><li style="outline: 0px;line-height: 25px;">bash のテストは現在 3 つのテスト オブジェクトをサポートしています <section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);"></section></li></ol><ul class="list-paddingleft-1" data-tool="mdnice编辑器" mp-original-font-size="16" mp-original-line-height="25" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;outline: 0px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 25px;"><li style="outline: 0px;line-height: 25px;">string: String <section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);"></section></li><li style="outline: 0px;line-height: 25px;">integer: 整数 <section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);"></section></li><li style="outline: 0px;line-height: 25px;">file: ファイル <section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);"></section></li></ul><ol class="list-paddingleft-1" data-tool="mdnice编辑器" mp-original-font-size="16" mp-original-line-height="25" start="3" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;outline: 0px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 25px;"><li style="outline: 0px;line-height: 25px;"># 0 を返します ( true) 式が true の場合、それ以外の場合は 0 以外 (false) を返します<section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);"></section></ol><ul class="list-paddingleft-1" data-tool="mdnice编辑器" mp-original-font-size="16" mp-original-line-height="25" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;outline: 0px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 25px;"><li style="outline: 0px;line-height: 25px;"><section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);"><code mp-original-font-size="14" mp-original-line-height="26" style="margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;">command1 && command2</code><span> </span># command2 は、command1 の RV が 0 (true) の場合にのみ実行できます。 <a data-itemshowtype="0" data-linktype="2" href="//m.sbmmt.com/link/725215ed82ab6306919b485b81ff9615" imgdata="null" imgurl="" linktype="text" style="font-family: -apple-system-font, "system-ui", "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 1px;text-align: left;white-space: normal;word-spacing: 1px;caret-color: rgb(62, 62, 62);" tab="innerlink" target="_blank" textvalue="关注Linux中文社区"><span style="outline: 0px;font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;">Linux 中国語コミュニティをフォローしてください</span></a></section></li><li style="outline: 0px;line-height: 25px;"><section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);"><code mp-original-font-size="14" mp-original-line-height="26" style="margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;">command1 || command2</code><span> </span># command2 のみが使用可能ですin command1 RV が 0 以外 (false) の場合に実行されます。</section></li></ul><ol class="list-paddingleft-1" data-tool="mdnice编辑器" mp-original-font-size="16" mp-original-line-height="25" start="4" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;outline: 0px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 25px;"><li style="outline: 0px;line-height: 25px;"><section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);">先替换变量再比较</section></li></ol><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">A=123 [ -n "$A" ] && ([ "$A" -lt 100 ] || echo "too big") unset A</pre><div class="contentsignin">ログイン後にコピー</div></div><h3 data-tool="mdnice编辑器" mp-original-font-size="20" mp-original-line-height="32" style="margin-top: 30px;margin-bottom: 15px;outline: 0px;font-weight: bold;font-size: 20px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 32px;">11. > 与 < 差在哪?</h3><ul class="list-paddingleft-1" data-tool="mdnice编辑器" mp-original-font-size="16" mp-original-line-height="25" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;outline: 0px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 25px;"><li style="outline: 0px;line-height: 25px;"><section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);">0: Standard Input (STDIN)</section></li><li style="outline: 0px;line-height: 25px;"><section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);">1: Standard Output (STDOUT)</section></li><li style="outline: 0px;line-height: 25px;"><section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);">2: Standard Error Output (STDERR)</section></li></ul><blockquote data-tool="mdnice编辑器" mp-original-font-size="14.399999618530273" mp-original-line-height="23" style="margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;outline: 0px;border-left-color: rgba(0, 0, 0, 0.4);color: rgb(106, 115, 125);font-size: 14.4px;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;overflow: auto;background-color: rgba(0, 0, 0, 0.047);line-height: 23px;"><p mp-original-font-size="16" mp-original-line-height="26" style="padding-top: 8px;padding-bottom: 8px;outline: 0px;font-size: 16px;color: black;line-height: 26px;">我们可用 < 来改变读进的数据信道(stdin),使之从指定的档案读进。<br mp-original-font-size="16" mp-original-line-height="26" style="outline: 0px;line-height: 26px;"/>我们可用<code mp-original-font-size="14" mp-original-line-height="26" style="margin-right: 2px;margin-left: 2px;padding: 2px 4px;outline: 0px;font-size: 14px;border-radius: 4px;color: rgb(30, 107, 184);background-color: rgba(27, 31, 35, 0.047);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;line-height: 26px;">></code><span> </span>来改变送出的数据信道(stdout, stderr),使之输出到指定的档案。</p></blockquote><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">ls my.file no.such.file 1> file.out 2>file.err # 2>&1 就是将stderr并进stdout做输出 ls my.file no.such.file 1> file.out 2>&1 # /dev/null 空 ls my.file no.such.file >/dev/null 2>&1 cat < file > file # 在 IO Redirection 中,stdout 与 stderr 的管道会先准备好,才会从 stdin 读进资料。 # 也就是说,在上例中,> file 会先将 file 清空,然后才读进 < file , # 但这时候档案已经被清空了,因此就变成读不进任何数据了</pre><div class="contentsignin">ログイン後にコピー</div></div><h3 data-tool="mdnice编辑器" mp-original-font-size="20" mp-original-line-height="32" style="margin-top: 30px;margin-bottom: 15px;outline: 0px;font-weight: bold;font-size: 20px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 32px;">12. 你要if还是case呢?</h3><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;"># if echo -n "Do you want to continue?(Yes/No):" read YN if [ "$YN"=Y -o "$YN"=y -o "$YN"="Yes" -o "$YN"="yes" -o "$YN"="YES"];then echo "continue" else exit 0 fi # case echo -n "Do you want to continue?(Yes/No):" read YN case "$YN" in [Yy]|[Yy][Ee][Ss]) echo "continue" ;; *) exit 0 esac</pre><div class="contentsignin">ログイン後にコピー</div></div><h3 data-tool="mdnice编辑器" mp-original-font-size="20" mp-original-line-height="32" style="margin-top: 30px;margin-bottom: 15px;outline: 0px;font-weight: bold;font-size: 20px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 32px;">13. for what? while与until差在哪?</h3><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;"># for for ((i=1;i<=10;i++)) do echo "num is $i" done # while num=1 while [ "$num" -le 10 ]; do echo "num is $num" num=$(($num + 1)) done # until num=1 until [ "$num" -gt 10 ]; do echo "num is $num" num=$(($nu + 1)) done</pre><div class="contentsignin">ログイン後にコピー</div></div><ul class="list-paddingleft-1" data-tool="mdnice编辑器" mp-original-font-size="16" mp-original-line-height="25" style='margin-top: 8px;margin-bottom: 8px;padding-left: 25px;outline: 0px;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, "PingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;font-size: 16px;text-align: left;white-space: normal;text-size-adjust: auto;line-height: 25px;'> <li style="outline: 0px;line-height: 25px;"><section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);">break 是结束 loop</section></li> <li style="outline: 0px;line-height: 25px;"><section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);">return 是结束 function</section></li> <li style="outline: 0px;line-height: 25px;"><section mp-original-font-size="16" mp-original-line-height="26" style="margin-top: 5px;margin-bottom: 5px;outline: 0px;line-height: 26px;color: rgb(1, 1, 1);">exit 是结束 script/shell</section></li> </ul> </li> </ul> </div>