簡體   English   中英

Windows bat 腳本因多行命令而失敗

[英]Windows bat script fails with command on multiple line

我有兩台機器需要運行一個腳本,如下所示:

cd C:\my_project\
git pull
set ENV=prod
set USERNAME=me
poetry config virtualenvs.create false
poetry install
poetry run python -m my_module

以下是兩台機器的版本:

機器 1

>cmd /version
Microsoft Windows [version 10.0.19042.1348]
(c) Microsoft Corporation. Tous droits réservés.

機器 2

>cmd /version
Microsoft Windows [version 10.0.19042.1288]
(c) Microsoft Corporation. Tous droits réservés.

該腳本在機器 2 上運行良好,但在機器 1 上的第一個詩歌命令后停止。我必須修改機器 1 上的腳本,以將所有詩歌命令放在一行中,並用&分隔以使腳本正確運行。

cd C:\my_project\
git pull
set ENV=prod
set USERNAME=me
poetry config virtualenvs.create false & poetry install & poetry run python -m my_module

更多背景:

  • 每個命令后errorlevel為0
  • 我在具有相同權限的同一用戶的兩台機器上運行
  • 我已經重新啟動了機器 1 並且行為仍然相同

這是Windows版本問題嗎? 這是某些資源(內存,CPU ...)的問題嗎? 這是編碼/不可見字符的問題嗎? 詩歌的安裝問題?

在您的機器上 1 - 詩歌是一個批處理文件!
你可以改用call poetry

可能你以不同的方式安裝詩歌。

這是 get-poetry.py 安裝腳本中的一個錯誤,它在 Windows 上創建了poetry.bat,因此最接近的 shell 始終是 cmd.exe。

解決方法是使用 pip 或 pipx 安裝 Poetry。

在 windows 詩 shell 總是啟動一個 cmd

暫無
暫無

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

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