Forskellen mellem "command && command" og "command ; command" i Ubuntu forklaret

Hvad er forskellen mellem at bruge "command && command" og "command ; command" i Ubuntu?

Forskellen mellem at bruge "command && command" og "command ; command" i Ubuntu er, at "command && command" kun udfører den anden kommando, hvis den første lykkes, mens "command ; command" udfører begge kommandoer uanset resultatet af den første.

Forskellen mellem at bruge "command && command" og "command ; command" i Ubuntu

I Ubuntu (og generelt i Unix-baserede systemer) bruges både "command && command" og "command ; command" til at køre flere kommandoer i rækkefølge. Men der er en væsentlig forskel i, hvordan de to syntakser fungerer:

  • command && command
    • Dette er en logisk AND operator.
    • Den anden kommando vil kun blive udført, hvis den første kommando lykkes (returnerer en exit status på 0).
    • Eksempel: mkdir new_folder && cd new_folder
      • Her vil cd new_folder kun blive udført, hvis mkdir new_folder lykkes.
  • command ; command
    • Dette er en sekventiel operator.
    • Den anden kommando vil blive udført uanset resultatet af den første kommando.
    • Eksempel: mkdir new_folder ; cd new_folder
      • Her vil cd new_folder blive udført, uanset om mkdir new_folder lykkes eller fejler.

For at opsummere:

  • Brug && når du vil sikre, at den anden kommando kun kører, hvis den første kommando lykkes.
  • Brug ; når du vil køre begge kommandoer uanset resultatet af den første kommando.