android – repo:在自动bash脚本中找不到命令来构建cyanogenmod
作者:互联网
我正在运行linux mint 17.2,我已经安装了repo,并且将repo的路径添加到我的.bashrc中.我之前已经发起了我的回购.
我已按照Android Source Downloading和How to Build CyanogenMod页面上的说明进行操作.
问题是:我编写了一个bash脚本来自动化我想用来启动构建的一些命令.我的脚本以简单的形式如下:
#!/bin/bash
cd ~/Android/Cyanogenmod/cm12_1/android/system
source build/envsetup.sh
repo sync --force-sync -j8
exec $SHELL
当我运行它时,它会报告:
/home/username/Desktop/Cyanogenmod_cm12_1_Grouper_Build : line 4 repo: command not found
如果我将每一行复制并粘贴到一个新的终端实例中(或者只是运行#!/ bin / bash exec $SHELL的脚本来打开一个终端),它就可以完美地运行.
我曾经尝试过的:我曾尝试在repo sync –force-sync -j8之前加入一个睡眠10,但这并没有什么区别.在尝试repo sync -force-sync -j8之前,我还尝试显式启动repo并强制将其添加到我的PATH中,直接用于当前终端会话.该测试的代码如下:
#!/bin/bash
mkdir -p ~/Android/Cyanogenmod/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/Android/Cyanogenmod/bin/repo
chmod a+x ~/Android/Cyanogenmod/bin/repo
cd ~/Android/Cyanogenmod/cm12_1/android/system/
source build/envsetup.sh
PATH=~/Android/Cyanogenmod/bin/repo:$PATH
repo sync --force-sync -j8
exec $SHELL
以下两个问题具有相似的标题,但我的问题也没有,this和this.
任何帮助或建议都会很棒,谢谢!
解决方法:
总而言之,结果是2个问题.第一个,是我试图在脚本中手动设置路径的解决方案,如PATH =〜/ Android / Cyanogenmod / bin / repo:$PATH应该只是PATH =〜/ Android / Cyanogenmod / bin:$PATH.
第二个也是整体上更大的问题是我的.bashrc中错误添加的PATH变量(回购).通过在我的.profile末尾添加行export PATH = $PATH:$HOME / Android / Cyanogenmod / bin来修复此问题,然后注销/中.
标签:bash,android,shell,cyanogenmod,repo 来源: https://codeday.me/bug/20190711/1432900.html