簡體   English   中英

在命令行找到但不在腳本中找到的命令

[英]Command found at the command line but not in script

我正在嘗試創建一個新的 在Mac上使用腳本的項目。 為此,我遵循以下步驟:

  1. 在我的.bash_profile添加工具和平台工具的PATH
  2. 驗證android命令在外殼中是否可用。
  3. 編寫腳本以創建一個新項目。

這是我寫的腳本:

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命令在外殼中運行。 但是當我使用sh script.sh project_name project_path package_name運行腳本時,它放棄了一個錯誤,說android: command not found

PATH變量對外殼具有特殊含義。 如果您沒有為程序提供完整的路徑,則shell希望它包含用冒號分隔的目錄列表,可以在其中查找程序。

要解決您的問題,請在程序中使用除PATH之外的其他名稱。

作為一般建議,我邀請您使用更嚴格的規則引用參數並避免使用echo命令:

  1. 幾乎沒有理由不要在雙引號之間出現變量名。 因此,除非要實現特殊功能,否則應始終使用雙引號來控制變量擴展。

  2. 優先選擇printf不是echo因為它更易於使用,更可靠,更便攜(也是明顯的贏家)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM