私は完全に動作するdebootstrap-ed arm chroot環境を設定しました。chroot
その中でコマンドなどを実行できます。
私はカスタムchroot環境用のスクリプトを作成していますが、それで問題が発生しています。
たとえば、
chroot $target_dir echo this is a test > /tmp/test
この例では、私が得た出力がchrootedではなくホスト環境に書き込まれる理由を説明できる人はいますか?
言い換えれば、私はfeを実行することができます
echo this is a test > $target_dir/tmp/test
しかし、chrooted実行が「失敗」する理由を知りたいです。
編集する:
これはまた働きます:
chroot $target_dir /bin/bash -c "echo test > /tmp/test"
ベストアンサー1
実行時:
chroot $target_dir echo this is a test > /tmp/test
これは> /tmp/test
あなたが書いたように "chroot"コマンドで起こります:
> /tmp/test chroot $target_dir echo this is a test
chroot コマンド内でリダイレクトを発生させるには、1 つの方法があります。
chroot $target_dir sh -c 'echo this is a test > /tmp/test'
sh
...これは、echoが正しいリダイレクトディレクトリを表示できるようにchrootに保存されるためです。