Windows 바로 가기를 통해 실행하면 WSL 스크립트가 실패합니다.

Windows 바로 가기를 통해 실행하면 WSL 스크립트가 실패합니다.

rsync백업이 완료되었는지 확인하고 완료되면 내 컴퓨터를 최대 절전 모드로 전환하는 작은 스크립트가 있습니다 .
이것은 WSL(Debian)에 있습니다.

#!/bin/bash

# if rsync is running, then wait 5
while ps aux | grep -q -e "[r]s";
do
    sleep 5
    echo "script running..."
done

# sleep PC
psshutdown64.exe -d -t 0

WSL 창에서 실행하면 제대로 작동합니다.
스크립트가 실행 중이면 기다리고 종료하면 rsync컴퓨터가 잠자기 상태가 됩니다.

script running...
script running...
script running...
script running...

PsShutdown v2.53 - Shutdown, logoff and power manage local and remote systems
Copyright (C) 1999-2021 Mark Russinovich
Sysinternals - www.sysinternals.com

동일한 스크립트를 실행하기 위해 Windows 바로가기를 만들려고 합니다.

바로가기가 실행될 때 루프가 종료되지 않습니다. 잠을 안 자도 계속 나타나네요
.script running...

bash.exe -c, wsl.exe, debian.exepowershell.exe스크립트를 시작하려고 시도했습니다 .
아무도 작동하지 않았습니다.

흥미롭게도 cmd나 Powershell 창을 통해 스크립트를 실행하면 제대로 작동합니다.

wsl sh sleep.sh

PsShutdown v2.53 - Shutdown, logoff and power manage local and remote systems
Copyright (C) 1999-2021 Mark Russinovich
Sysinternals - www.sysinternals.com

하지만 바로가기를 사용하여 실행하면 실패합니다.

편집: 스크립트는 Documents.

답변1

다른 사람에게 도움이 될까봐 답변으로 게시하고 있습니다.
질문에 직접적으로 대답하지는 않지만 원하는 결과를 얻습니다.

  1. 스크립트에 대한 심볼릭 링크 만들기home
  2. Windows 바로가기를 만듭니다.C:\Windows\System32\wsl.exe sh ~/sleep.sh

관련 정보