Når du udsteder en kommando med sudo
i Linux, sker der en række ting, der kan påvirke, hvordan systemet søger efter og udfører kommandoen. Her er en detaljeret forklaring:
sudo
, bruger systemet den aktuelle brugers PATH
miljøvariabel til at finde kommandoen.sudo
, skifter systemet til root-brugeren, og det er root-brugerens PATH
der anvendes til at finde kommandoen.sudo
kan ændre miljøvariabler, herunder PATH
, afhængigt af konfigurationen i /etc/sudoers
filen.PATH
kan være forskellig fra den aktuelle brugers PATH
, hvilket kan føre til, at kommandoen ikke findes.sudo
kan være konfigureret til at bruge et begrænset sæt miljøvariabler, hvilket kan ekskludere brugerens PATH
.PATH
.sudo /usr/local/bin/my-command
.PATH
ved at redigere /etc/sudoers
filen:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
sudo -E
for at bevare den aktuelle brugers miljøvariabler, herunder PATH
:
sudo -E my-command
sudo env
til at specificere PATH
for en enkelt kommando:
sudo env PATH=$PATH my-command
Ved at forstå, hvordan sudo
håndterer miljøvariabler og PATH, kan du effektivt løse problemer med "command not found" og sikre, at dine kommandoer udføres korrekt.
Har du brug for hjælp til Linux-kommandoer eller systemopdateringer? Med Handyhand kan du nemt oprette din opgave gratis og få bud fra dygtige hjælpere på få minutter. Gør det lettere for dig selv og få den assistance, du har brug for!