Vad betyder 2 > & 1 i detta kommando? [duplicera]

<åt sidan class = "s-notice s-notice__info js-post-notice mb16" role = "status">

Denna fråga har redan svar här :

Kommentarer

Svar

2 hänvisar till processens andra filbeskrivare, dvs. stderr.

> betyder omdirigering.

&1 betyder att målet för omdirigeringen ska vara samma plats som den första filen deskriptor, dvs. stdout.

> /dev/null 2>&1 omdirigerar först stdout till och omdirigerar sedan stderr också dit. Detta tystar effektivt alla utdata (vanligt eller fel) från wget -kommandot.

:: edit :: Här är en utmärkt snabbreferens för dig.

Kommentarer

  • Tack. När det körs i ett delat webbhotell-cron-jobb som vanligtvis skickar ett e-postmeddelande med utdata till en admin, skulle > / dev / null 2 > & 1 förhindra att detta händer tror du? Spelar också utrymmen som omger ' > ' någon roll?
  • Ja , är det kompletta tystnadstricket vanligt för att se till att det absolut inte finns någon utdata för att utlösa e-post från ett cron-jobb. (Observera dock att värdleverantören kan ha gjort alla möjliga konstiga saker för din cron-miljö för att få den att skicka någon form av e-post oavsett vad du gör.) :: redigera :: Och nej, mellanslag runt ensamma = ”07d6e6c997″>

spelar ingen roll, men mellanslag inom 2>&1 spelar förmodligen roll (jag kan ' inte minnas) .

  • Det kan också vara värt att notera att samma semantik ofta uppnås med idiomet &>/dev/null
  • Lämna ett svar

    Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *