You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在执行adb shell后自动输入cd /data/等Shell命令?

实现ADB Shell自动执行初始化命令

当然可以实现,有两种常用方案:

1. 直接在ADB命令中拼接初始化操作

如果只是需要单次进入shell后自动切换到/data/目录,或是执行初始化操作后保持交互式会话,直接在adb shell后拼接命令即可:

  • 执行初始化后进入交互式shell:

    adb shell -c "cd /data/; exec \$SHELL"
    

    这条命令会先切换到/data/目录,再启动新的交互式shell,此时会话默认处于目标目录。

  • 执行初始化+后续命令(非交互式):

    adb shell "cd /data/ && ls"
    

    这种方式会直接完成切换目录、列出文件的操作,执行结束后自动退出shell。

2. 配置设备端Shell启动脚本

如果需要每次通过ADB登录shell都自动执行初始化操作,可以修改设备上的shell启动配置文件:

针对Bash环境(部分设备支持)

  1. 本地创建初始化脚本init_shell.sh,内容如下:
    cd /data/
    # 可添加其他初始化操作,比如设置环境变量
    
  2. 将脚本推送到设备可访问目录:
    adb push init_shell.sh /data/local/tmp/
    
  3. 修改shell启动配置,让每次登录加载该脚本:
    adb shell "echo 'source /data/local/tmp/init_shell.sh' >> /data/data/com.android.shell/files/.bashrc"
    

针对默认mksh环境(多数Android设备)

Android默认使用mksh,修改系统级配置需要root权限:

  1. 获取root权限:
    adb root
    
  2. 编辑mksh配置文件,添加初始化命令:
    adb shell "echo 'cd /data/' >> /system/etc/mkshrc"
    

注意事项

  • 部分设备对/data/目录有访问限制,可能需要先获取root权限才能正常切换。
  • 不同设备的shell环境存在差异,需根据实际使用的shell(bash/mksh/sh)选择对应启动配置文件。

内容的提问来源于stack exchange,提问作者Tef Elbert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 14:15:47