android 在命令行中找到命令,但在脚本中找不到,android,android,bash,shell,android-sdk-tools,android,Android,Bash,Shell,Android Sdk Tools" /> android 在命令行中找到命令,但在脚本中找不到,android,android,bash,shell,android-sdk-tools,android,Android,Bash,Shell,Android Sdk Tools" />

android 在命令行中找到命令,但在脚本中找不到

android 在命令行中找到命令,但在脚本中找不到,android,android,bash,shell,android-sdk-tools,android,Android,Bash,Shell,Android Sdk Tools,我正在尝试使用mac上的脚本创建一个新项目。为此,我遵循了以下步骤: 在my中添加工具和平台工具的路径 验证android命令是否在shell中工作 编写脚本以创建新项目 这是我写的剧本: NAME=$1 PATH=$2 PACKAGE=$3 echo $1 echo $2 echo $3 function create_new_android_project() { android create project -n "$NAME" -t 7 -p "$PATH" -k "$PACKAGE

我正在尝试使用mac上的脚本创建一个新项目。为此,我遵循了以下步骤:

  • 在my
    中添加工具和平台工具的路径
  • 验证
    android
    命令是否在shell中工作
  • 编写脚本以创建新项目
  • 这是我写的剧本:

    NAME=$1
    PATH=$2
    PACKAGE=$3
    
    echo $1
    echo $2
    echo $3
    
    function create_new_android_project()
    {
    android create project -n "$NAME" -t 7 -p "$PATH" -k "$PACKAGE" -a MainActivity
    }
    
    
    create_new_android_project
    echo
    echo "******** Complete!!!"
    
    android
    命令在shell中运行。但是当我用 sh script.sh项目名称项目路径包名称
    它放弃了一个错误,说
    android:command not found

    PATH
    变量对shell有特殊意义。shell希望它包含一个以冒号分隔的目录列表,当您没有为程序提供完整路径时,它可以在其中查找程序

    要解决您的问题,请在程序中使用
    PATH
    以外的其他名称

    作为一般建议,我请您使用更严格的规则引用参数并避免使用
    echo
    命令:

  • 变量名不应该出现在双引号之间的原因很少。因此,除非您想实现一些特殊的功能,否则应该始终使用双引号来控制变量扩展

  • 首选
    printf
    而不是
    echo
    ,因为它更易于使用、更可靠、更便携(同时也是一个明显的赢家)