タグ

2021年12月29日のブックマーク (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 スクリプトの実行中上書き動作について
    sugawara1991
    sugawara1991 2021/12/29
    ↓リンク)呼び出し毎にシークしなおしてるなら外部コマンドによるスクリプト自己書き換えを動作成立させるためのシェルの意図的な動作仕様の匂いがする。テクニカルに過ぎるが成立するなら使いたがるタイプ居そう