私はUbuntuの9.04 x64およびを使用していコンソールに戻って、出力をリダイレクトするためにI 15分ごとにパスワードを入力せずに管理タスクを実行するには、常にrootコンソールが必要です。<em>startup.rb</em>がここで私がするように、<em>にsudo bashの</em>呼んで、私はファイルを持っている</p> <p>を、現在の標準出力を見つけるか、またはどのように
このスクリプトはStartup.rb別のスクリプトによって呼び出され、両方のファイルの内容れるが、このようなものです -
ファイル〜/ Startup.rb
#!/usr/bin/ruby
system "gnome-terminal --maximize -x ruby ~/startup.rb"
ファイル〜/スタートアップ.rb
#!/usr/bin/ruby
`sudo some-repetitive-administrative-task`
....
....
`sudo bash` #Not using `sudo -i`, since that makes `pwd` -> /root
私は彼〜/ Startup.rbファイルスタートアップアプリケーションリスト
問題は、sudo bash
の端末で、何か入力して出力を期待すると、私は何も得られないということです。だから私がecho hello world
と書くと、出力が出ない。これは、sudo bash
コマンドの標準出力(stdout)がではなく、コンソールであると私に信じさせます。
だから私はなぜこれが起こっているのか知りたいですか?現在の標準出力経路をどのように知ることができますか?または、現在のコンソールに標準出力を戻すにはどうしたらいいですか?
- 感謝
最近私が ''を発見したときまで私はいつもシステム( "")を使用していたので、イライラしています。 私はできるだけ多くの方法を試みましたが、私はシステム()を試してみましたか? 同じファイル 'startup.rb'でも、最近この行を追加したものを除き、他のすべてのコマンドはsystem()を使って実行されます。 それは気違いです。 –