我正在运行linux mint 17.2,我安装了repo
,并且repo
的路径已添加到我的.bashrc
。我之前已发起了repo
。
我已按照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
的脚本来打开一个终端),它就能完美地运行。
我尝试了什么:我尝试在sleep 10
之前加入repo sync --force-sync -j8
,但没有任何区别。在尝试PATH
之前,我还尝试显式启动repo并强制将其添加到我的repo sync --force-sync -j8
当前终端会话。该测试的代码如下:
#!/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都不是。
任何帮助或建议都会很棒,谢谢!
答案 0 :(得分:0)
总而言之,结果是2个问题。第一个是我尝试在脚本中手动设置路径的解决方案,因为PATH=~/Android/Cyanogenmod/bin/repo:$PATH
应该只是PATH=~/Android/Cyanogenmod/bin:$PATH
。
第二个也是整体较大的问题是我的PATH
中错误添加的repo
变量(.bashrc
}。通过将export PATH=$PATH:$HOME/Android/Cyanogenmod/bin
行添加到.profile
的末尾,然后注销/进来修复此问题。