如何创建一个 bat 文件运行在亚行 shell ,在进一步的用户输入的可执行文件

pxy2qtax  于 2023-08-07  发布在  Shell
关注(0)|答案(3)|浏览(79)

我是新来写 bat 文件,目前,我正在创建一个 bat 文件,以访问adb shell ,并运行其中的可执行文件。例如,我想运行adb shell中的HelloWorld.exe。此外,我没有权限编辑Helloworld.exe以接收输入参数而不是用户输入。
HelloWorld.exe:

#include <iostream>
using namespace std;

int main() {
    string name;
    int age;

    cout << "Enter your name: ";
    cin >> name;

    cout << "Hello, " << name << "!" << endl;

    return 0;
}

字符串
要运行HelloWorld.exe本身,我熟悉我们可以用途:adb shell Helloworld.exe。但是,我们应该如何将输入管道到可执行文件,我已经尝试使用echo(echo good_guy | adb shell Helloworld.exe),但它不起作用。

qeeaahzv

qeeaahzv1#

你不需要创建bat文件,你可以创建一个像下面这样的bash文件来在side adb shell中运行。例如:script文件,包含以下行

echo "Arg1 is $1, arg2 is $2"

字符串
$1是你的第一个参数
$2是第二个参数
并将其放在设备文件夹(/data/local/tmp/)中。然后像下面这样用adb shell运行它

adb shell '/data/local/tmp/script a b'


运行上述程序后的结果应该是

Arg1 is a, arg2 is b

6mzjoqzu

6mzjoqzu2#

这和预期的一样

echo world | adb shell 'read v; echo "hello $v"'
hello world

字符串
所以你的应该也能用

chy5wohz

chy5wohz3#

谢谢你的帮助!最后,我们使用adb shell "(echo test1; echo test2) | /usr/bin/path_to_bin"。这类似于@Diego托雷斯Milano的管道输入建议

相关问题