57024


サーバー内の初期設定をレシピ化したいと思っています

その中で fluentd の使うジェムをアップデートするため

[code]

    /opt/td-agent/embedded/bin/fluent-gem update --no-ri --no-rdoc
    
[/code]

を実行した際

[code]

    rdoc's executable "ri" conflicts with /opt/td-agent/embedded/bin/ri
    Overwrite the executable? [yN]
    
[/code]

という対話インターフェースが出て実行が止まってしまいます

fluent-gem 自体は fluentd が使うジェムを別に管理するために別名になっているだけで  
gem コマンドと同じだと思うのですが対話インターフェースをスキップする方法  
あるいは rdoc ri の conflict の解決方法を教えていただけないでしょうか

よろしくおねがいします


CC BY-SA 4.0
2019-07-30T03:54:46.257
57022
2019-07-30T06:34:26.823
question
rubygems fluentd
gem update 時に対話入力をスキップする方法


LinuxライクなOSであれば、`yes`コマンドを使う方法があります。

[code]

    $ yes | fluent-gem update --no-ri --no-rdoc
    
[/code]

`yes`コマンドは実行すると`y`と標準出力に表示し続けるので、パイプで任意のコマンドの入力として渡せばすべてに`y(yes)`と答えたことになります。

参考:  
[How to default the [Yn] responses for the Ruby “gem clean” command? -
StackOverflow](https://stackoverflow.com/a/8022669/2322778) の回答


CC BY-SA 4.0
2019-07-30T06:34:26.823
57024
2019-07-30T06:34:26.823
3060
57022
answer