在adb shell非交互模式下使用别名

时间:2014-10-09 21:31:33

标签: android unix sh adb mksh

您好我需要以adb shell <command>

的形式运行

当我在adb shell中测试所有内容时,它起作用,因为我能够在.bashrc中设置一些别名。 但是,当我执行adb shell <command>时,没有任何作用,因为在运行.bashrc时未使用adb shell <command>,因为它处于非交互模式。

我该如何解决这个问题?我可以adb push将一些文件发送到文件系统,以便在adb shell运行时别名会出现在那里吗?

3 个答案:

答案 0 :(得分:11)

如果您的Android设备已植根,则可以将adb shell的别名添加到/system/etc/mkshrc文件中。

答案 1 :(得分:0)

执行此操作的一种方法是在一个ADB命令中发出多个Shell命令。您可以将它们放在字符串中,并用分号将它们分开,因此:

adb shell "alias foo bar ; export MY_VARIABLE=/path/to/somewhere ; my_executable "

"在这里至关重要,请确保它们正确配对。您可以这样运行.bashrc,因此:

adb shell "source /path/to/.bashrc ; my_executable"

答案 2 :(得分:-3)

您可以编写一个bash脚本来设置别名,然后执行shell:

#!/usr/bin/bash
. $HOME/.bashrc
adb shell $@