GNU/Linux >> Znalost Linux >  >> Linux

Co znamená Ampersand na konci řádku skriptu Shell?

sh sys-snap.sh &

Co je sh ?
Co je sys-snap.sh ?
Proč bych měl zadat & na konci řádku?
Může někdo vysvětlit syntaxi?

Bez & skript se nevrátí do výzvy, dokud nestisknu Ctrl +C .
Pomocí & Mohu stisknout enter a funguje to.

Přijatá odpověď:

sh je výchozí shell kompatibilní s Bourne (obvykle bash nebo dash)

sys-snap.sh je skript shellu, který obsahuje příkazy, které sh vykoná.
Protože nezveřejňujete jeho obsah, mohu pouze odhadovat z jeho názvu, co dělá.
Mohu najít skript související s CPanel se stejným názvem souboru, který vytváří soubor protokolu s všechny aktuální procesy, aktuální využití paměti, stav databáze atd.
Pokud skript začíná řádkem shebang (#!/bin/sh nebo podobně), můžete jej nastavit jako spustitelný pomocí chmod +x sys-snap.sh a spusťte jej přímo pomocí ./sys-snap.sh pokud je v aktuálním adresáři.

Pomocí & proces se spustí na pozadí, takže můžete pokračovat v používání shellu a nemusíte čekat na dokončení skriptu.
Pokud to zapomenete, můžete aktuální běžící proces zastavit pomocí Ctrl-Z a pokračujte v něm na pozadí pomocí bg (nebo v popředí pomocí fg ).
Další informace naleznete v části Řízení úloh


Linux
  1. Co znamená `:-` ve skriptu Shell?

  2. K jakému účelu slouží Colon Builtin „:“?

  3. Co dělá řádek '!/bin/sh -e'?

  1. Co znamená [email protected] ve skriptu shellu?

  2. Co znamená &na konci linuxového příkazu?

  3. Co znamená set -e ve skriptu bash?

  1. Co znamená syntaxe |&v jazyce shellu?

  2. Co znamená symbol šipky (->) na příkazovém řádku?

  3. Co dělá tento bash skript? [Pokus o hackování]