タグ

2021年12月30日のブックマーク (1件)

  • bash スクリプトの実行中上書き動作について

    を設定してから再度試した所 bar が表示された。backupcopy は編集中のファイルによって自動で判別する auto がデフォルトになっている為、試す際には明示的に yes に設定しないといけない。 bash の実装確認 evalstring.c の parse_and_execute でコマンドが処理されており、input.c の with_input_from_buffered_stream で読み込みの準備が行われている。バッファの読み込みの体は y.tab.c つまりパーサから直接呼ばれており、このパーサは fgets(3) で読み込まれつつ実行される為、一括でファイルが読み込まれている訳ではない。 while/do でループ実行した際に、ファイルを書き換えられたら戻り先はどうなるか、についてはスクリプトはバッファ付きで読み込まれており、そのバッファがファイルシステムから読

    bash スクリプトの実行中上書き動作について
    OkadaHiroshi
    OkadaHiroshi 2021/12/30
    全読込みしないのはメモリ資源が高価だからでなく、全部読み込んでから実行するより逐次実行の方が早いからでは。書き換わったら再度読み込むのは無限ループのあるスクリプトを止めずにパッチを当るためだろうか。