私はAndroidデバイス(adbシェル)にログインしてそこでいくつかのコマンドを実行するシェルスクリプトを作成しています。私のスクリプト(script1.sh)は次のようになります:アンドロイドデバイスにログインしてコマンドを実行する方法
# adb shell; cd sdcard; sh script2.sh &
上記のコマンドは機能しません。 "adb shell"コマンドが実行されるとすぐにAndroidシェルに入り、残りの2つのコマンドは実行されません。私はアンドロイドの殻から出てくる「exit」と入力した場合、今残りのコマンドは、ホスト・シェルで実行されています
./script1.sh: line 119: cd: /sdcard/: No such file or directory
'script2.sh'の出力をファイルにリダイレクトする場合は、シェル配管:' sh sdcard2.sh> stdout.log'を使用してください。それはどのような出力ですか?ログ?後で処理したいデータはありますか? –
ありがとうございます。申し訳ありませんが私の質問が変更されました。動作していますが、ホストスクリプト(script1.sh)が終了していません。私は私のホストスクリプト(script1.sh) adbのシェルで次のやっている << ADB_SHELL CD/SDカード のsh script2.sh& 終了 ADB_SHELL script2.shは、のAndriodデバイス上で無限ループで関数を実行しますか?どうやってアンドロイドデバイスでscript2.shを実行し続け、ホスト上でscript1.shを終了するのですか? –
それは、adbリモートシェルを終了していないようです。 Ctrl-Cを押すと、「exit」コマンドが「heredoc」で動作しないのはなぜですか? –