Kirjoittaja Aihe: bash xtrace vs powershell Set-PSDebug -trace  (Luettu 20 kertaa)

AimoE

  • Käyttäjä
  • Viestejä: 3036
    • Profiili
bash xtrace vs powershell Set-PSDebug -trace
« : tänään kello 08:43 »
Voin päivittää WSL:n oletusdistron PowerShell-komennoilla:

Koodia: [Valitse]
if ( (Get-Date).DayOfWeek -eq "Sunday" ) { wsl --update }
wsl -u root bash -c "apt update && apt full-upgrade"
if ( wsl test -f /var/run/reboot-required ) { wsl --terminate }
wsl -u root bash -c "apt autoremove --purge && apt autoclean"

(Scoop) bash:n xtrace:n avulla saan eri prosesseissa suoritettavat komennot erottumaan helposti:

Lainaus
#!/bin/bash

# distro name in arg $1 is optional
wsl="wsl ${1/#/-d }"
sudo='-u root bash -c'
setx="PS4='\n# ${1:-WSL default}> '; set -x"
PS4='\n: $(basename $0)> '

[ $(date +%u) -eq 7 ] && (set -x; $wsl --update) # sundays
$wsl $sudo "$setx; apt update && apt full-upgrade" || exit
$wsl test -f /var/run/reboot-required && (set -x; wsl --terminate $1)
$wsl $sudo "$setx; apt autoremove --purge && apt autoclean"

Onko olemassa joku PowerShell-jekku, jolla pääsisi vastaavaan selkeyteen? Set-PSDebug -trace:n tulostus on aika ärsyttävä. Mieluummin tulostan komennon itse ennen sen suoritusta, jos mikään muu ei auta.

Kysymys koskee siis vain komentoja "wsl --terminate" ja "wsl --update".