![](/img/trans.png)
[英]How to copy geckodriver to path /usr/local/bin/ in Gitlab pipeline?
[英]How to setup PATH to sh script in gitlab pipeline?
我有一個 bash 腳本plan.sh
在管道執行期間執行多次。
plan:
before_script:
- chmod +x ${CI_PROJECT_DIR}/gitlab/deploy/plan/plan.sh
script:
- cd ${FOLDER1}
- ${CI_PROJECT_DIR}/gitlab/deploy/plan/plan.sh
- cd ${FOLDER2}
- ${CI_PROJECT_DIR}/gitlab/deploy/plan/plan.sh
- cd ${FOLDER3}
- ${CI_PROJECT_DIR}/gitlab/deploy/plan/plan.sh
我想只使用文件名而不是完整路徑來執行腳本。 所以我正在設置 PATH 環境變量。
plan:
before_script:
- export PATH=${CI_PROJECT_DIR}/gitlab/deploy/plan:$PATH
- chmod +x plan.sh
script:
- cd ${FOLDER1}
- plan.sh
- cd ${FOLDER2}
- plan.sh
- cd ${FOLDER3}
- plan.sh
但是這會引發錯誤
$ chmod +x 計划.sh
chmod: 無法訪問 'plan.sh': 沒有那個文件或目錄
PATH
用於在僅按名稱執行二進制文件時查找二進制文件的位置。
PATH
不用於解析傳遞給另一個二進制文件的任意文件 arguments。 對於chmod
,這意味着您仍然必須首先提供完整路徑(相對或絕對)或cd
到正確的目錄。
這是另一個不起作用/不起作用的示例:
PATH=/bin
cd /
ls bin/ls # works
ls /bin/ls # works
bin/ls bin/ls # works
bin/ls /bin/ls # works
/bin/ls /bin/ls # works
/bin/ls ls # error
bin/ls ls # error
ls ls # error
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.