REDIRECȚIONĂRI
ieș ire (salida estándar)
fă un fiș ier # ieșire într-un fișier și pe ecran
> fichero # ieșire într-un fișier
fisa # ieșire la finalul fișierului
> /dev/null # respinge ieșirea
eroare
2>&1 eroare a ieșirii
2> fişier # eroare la fișier
2>> fiș ier eroare la sfârșitul fișierului
2> /dev/null # ignoră eroarea
eroare de ieș ire y
2>&1 | tee fisier amândouă la fișier și la ecran
&> fiș ier ambos la fișier
&>> fiș ier ambele la sfârșitul fișierului
VARIABLE
variabile de mediu
$PWD # directorio de trabajo actual
$OLDPWD director de lucru anterior
$PPID identificatorul procesului părinte
$HOSTNAME # nombre del ordenador
$USER # nombre del usuario
$HOME # directorul utilizatorului
$PATH # rute căutare comenzi
$LANG # idioma para los mensajes
$FUNCNAME # nombre función en ejecución
$LINENO # numărul de linie actual (din script)
$ALEATOR # număr aleator
variabile speciale
$0 # nombre del script
${N} # parametru N
$$ # identificatorul procesului actual
$! identificatorul ultimului proces
$@ toți parametrii primiți
$# numărul de parametri primiți
$? # (0=normal, >0=eroare) codul de returnare al ultimei comenzi
schimbare # $1=$2, $2=$3, ... ${N-1}=${N}
ARRAYS
declare –a ARRAY # declarație array
ARRAY=(valoare1 ... valoareN) # asignare compusă
ARRAY[N]=valoareN # asignare simplă
ARRAY=([N]=valorN valorM[P]=valorP) # atribuie celulele N, M și P
${ARRAY[N]} # valor celda N
${ARRAY[*]} toate valorile
Autor: Adolfo Sanz De Diego[Link] Licencia: CC-BY-SA
OPERATORI
operatori aritmetici
+ # suma
- resta
* # multiplicare
/ diviziune
% # resto
++ incremento
-- decrement
operatori de comparare numerică
numărul1–eq numărul2 numărul1 egal cu numărul2
numărul1–ne numărul2 # numărul1 diferit de numărul2
numărul1–lt numărul2 numărul1 mai mic decât numărul2
numărul1–numărul2 # numărul1 mai mic sau egal cu numărul2
numărul1–gt numărul2 numărul1 mai mare decât numărul2
numărul1–ge numărul2 numărul1 mai mare sau egal cu numărul2
operatori logici
! # NU
&& , -a # ȘI
|| , -o sau
operatori de fiș iere
-e fiș ier există
-s fiș ier # nu este gol
-f fiș ier # normal
-d fiș ier # director
-h fiș ier legătură simbolică
-r fiș ier permisiune de lectură
-w fiș ier permis de scriere
-x fiș ier permis de execuție
-O fiș ier proprietar
-G fiș ier # aparține grupului
f1-ef f2 # f1 și f2 linkuri același fișier
f1-nt f2 # f1 mai nou decât f2
f1-ot f2 f1 mai vechi decât f2
operatori de ș iruri
-n lanț # nu este gol
-z cadena # gol
cadena1= cadena2 # String1 este egal cu string2
cadena1== cadena2 cadena1 este egală cu cadena2
cadena1!= cadena2 # cadena1 distinctă de cadena2
Autor: Adolfo Sanz De Diego[Link] Licencia: CC-BY-SA
ÎNTR-OMILAT
#!RUTA # ruta al interprete (/bin/bash)
caracter # valoarea literală a caracterului
linea1 \ linea2 # pentru a scrie pe mai multe linii
lanț # valor literal cadena
lanț # valoare literală șir, cu excepția $ ' \
EXPANSIUNE
[prefijo]{cad1,[,...],cadN}[sufijo] # = precad1suf ... precadNsuf
${VARIABLE:-valoare} # si VARIABLE nula, retorna valoare
${VARIABLE:=valoare} # si VARIABLE nula, asigna valoare
${VARIABLE:?mesaj} # si VARIABLE nula, mesaj de eroare și sfârșit
${VARIABLE:inceput} recorta de la început până la sfârșit
${VARIABLE:început:lungime} recorta de la început până la lungime
${!prefijo*} # nume de variabile cu prefix
${#VARIABLE} numărul de caractere al VARIABILEI
${#ARRAY[*]} elemente de ARRAY
${VARIABLE#patrón} # elimină minimum pattern de la început
${VARIABLE##model} # elimină maximul modelului de la început
${VARIABLE%patrón} # elimina minimum pattern from end
${VARIABLE%%patrón} # elimină maximul model de la sfârșit
${VARIABLE/patron/inlocuire} Înlocuiește prima potrivire
${VARIABLE//model/replacement} # înlocuiește toate potrivirile
$((expresie)) # înlocuiește expresia cu valoarea ei
$[expresie] # înlocuiește expresia cu valoarea ei
EXECUȚIE
./comando # execută din directorul curent
$RUTA/comando # rulează din orice loc
comandă execută dacă este în $PATH
.script # execută exportând variabile
$(comando param1 ...paramN) # execută în mod literal
comandă param1 ...paramN # execută înlocuind variabilele
comando & # rulează în fundal
c1 |c2 redirecționează ieșirea c1 către intrarea c2
c1 ;c2 execută c1 și apoi c2
c1 &&c2 # executa c2 dacă c1 se termină fără erori
c1 ||c2 # executa c2 si c1 termina cu erori
ARGUMENTE DE LINIE DE COMANDĂ
în timp ce getopts "hs:" opțiune ; fă opțiuni disponibile
caz "$opțiune" în atâta timp cât există argumente
h) DO_HELP=1 ;; # selectăm
s) argument=$OPTARG ; DO_SEARCH=1 ;; # -h fără opțiuni
*) echo "Invalid" ; return ;; # -s cu opțiuni în $OPTARG
esac # * error
gata
Autor: Adolfo Sanz De Diego[Link] Licencia: CC-BY-SA
STRUCTURI DE CONTROL
dacăexpresie1; atunci #condițional
bloque1 # dacă expresia1 atunci
elifexpresie2; atunci # bloc1
bloc2 # sino y expresión2 entonces
altfel # bloc2
bloc3 și niciuna atunci
fi # bloc2
caseVARIABLE în #selectiva
patron11|...|patron1N) # și VARIABLE coincide cu pattern-uri1
bloque1 # atunci bloc1
patrón21|...|patrón2N) si VARIABLE coincide con patrones2
bloc2 # deci bloc2
*) # și niciuna
bloqueDefecto ;; # deci bloqueDefecto
esac
pentruVARIABLE înLISTA; face #iterativă cu listă
bloc # executa bloc înlocuind
finalizat # VARIABILĂ pentru fiecare element din LISTĂ
pentru ((expr1;expr2;expr3; )); face #iterativ cu contor
bloc mai întâi se evaluează exp1
gata # apoi în timp ce exp2 este adevărat
se execută blocul și expr3
whileexpresie; face #bucle “mientras”
blocat # se execută bloc
făcut pe vreme ce expresia este adevărată
untilexpresion; fă #bucle “hasta”
expresie se execută bloc
terminat până când expresia este adevărată
[funcț ie]expresie () { #funcție
... [ return [valoare] ] ... se invocă cu
} # numeFuncție [param1 ... paramN]
INTERACTIVITATE
citeș te [-pcadena] [variabila1 ...] #input
# citește tastatura și atribuie variabilelor
poate fi afișat un mesaj înainte
și nici o variabilă, RASPUNS = tot
echo ș ir #output
-n nu face salt de linie manda valoarea șirului
-e interpretează caractere cu\ # la ieșire standard
printf #formatat ca C
CONTROLUL PROCESELOR
comando & execută în fundal
bgnúmeroProceso # continuă execuția în fundal
fgnúmeroProceso # continuă execuția în prim-plan
locuri de muncă # afișează procesele în execuție
semnal de ucidere PID1|numărProces1 # procesul(e) indicat(e)
exitcódigo ieșire cu cod de returnare
(0=normal, >0=eroare)
captură [comandă] [cod1 ...] # execută comanda atunci când semnal(ale)
aș teptaț i [PID1|numărulProcesului1] așteaptă până la finalizarea procesului (proceselor) copil(copiilor)
comandă nice-n prioritate # execută comanda cu prioritate [-20/19]
renice-n prioritate comandă # modifica prioritatea comenzii [-20/19]
-20 maxima prioritate si 19 minima
Autor: Adolfo Sanz De Diego [Link] Licencia: CC-BY-SA