我正在尝试使用mac上的脚本创建一个新的android项目。为此,我按照以下步骤操作:
PATH
.bash_profile
个工具和平台工具
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 project_name project_path package_name
它放弃了一个错误android: command not found
。
答案 0 :(得分:1)
PATH
变量对shell有特殊意义。 shell期望它包含一个冒号分隔的目录列表,当你没有为它们提供完整的路径时,它可以查找程序。
要解决您的问题,请在程序中使用除PATH
之外的其他名称。
作为一般性建议,我邀请您使用更强的学科引用参数并避免使用echo
命令:
在双引号之间不应出现变量名的原因很少。因此,除非你想要实现特殊的东西,否则你应该总是使用双引号来控制变量扩展。
首选printf
超过echo
,因为它更易于使用,更可靠,更便携(也是明显的赢家)。