2011-11-16 3 views
14

イム内からコマンドを実行する...バッシュ:この操作を行う必要があるスクリプトを書いchroot環境とスイッチユーザー

chroot /chroot_dir/ su - 
./startup.sh (This should run within the su environment) 

私は、このアプローチを試してみました:

chroot /chroot_dir /bin/bash -c " su -; ./startup.sh" 

これは、実行しようとしますユーザーの切り替えとbashへの文字列コマンドとしてのスクリプト...しかし、それは何ですか、それは "停止"後に "su - "とスクリプトを実行しません。 しかし、私は "su - "環境を離れるとstartup.shを実行しようとしますが、もちろんそれは見つけることができません。

基本的に私は、巣に内部で実行される「startup.sh」必要「SU - 」環境...

任意のアイデア? bashのを使用している場合は別のシェル(例えばと

cat << EOF | chroot /chroot_dir 
touch aaaaa 
touch bbbbb 
EOF 

オプションが、chrootされた環境には、それはしていません:。

どうもありがとう

答えて

29

は、基本的なオプション

chroot /chroot_dir /bin/bash -c "su - -c ./startup.sh" 
+0

ありがとう、私はどのように私はマニュアルページでこれを見てdidnt知っている! – dgrandes

16
chroot /chroot_dir /bin/bash -x <<'EOF' 
su - 
./startup.sh 
EOF 
0

を試してみてください存在する)

cat << EOF | chroot /chroot_dir /bin/sh 
touch aaaaa 
touch bbbbb 
EOF 
関連する問題