GNU/Linux >> Znalost Linux >  >> Linux

Co znamená -s a [[]] ve stavu If v Bash?

if [[ -s log.txt ]];

Co znamená -s? Vím, že -z znamená řetězec nulové velikosti. Nemohu najít žádnou dokumentaci na -s.

Co znamená [] nebo [[]] při psaní if stav. Použil jsem if bez [] nebo [[]] a fungovalo to dobře.

Přijatá odpověď:

-s test vrátí hodnotu true if

[…] pokud soubor existuje a má velikost větší než nula

To je zdokumentováno v bash manuálu a také v manuálu pro test utility (test lze také zapsat if test -s file; then ).

Pro [ ... ] a [[ ... ]] , viz:Bash – If Syntax confusion


Linux
  1. Co dělá „exec {fd}/watchdog“ v Bash?

  2. Co znamená Env X=() { :;}; Command‘ Bash dělat a proč je to nejisté?

  3. Co znamená „rm is hash“?

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

  2. Co to znamená #define X X?

  3. Jak bash testuje „nepravdu“?

  1. Co znamená -s a [[]] ve stavu If v Bash?

  2. Co toto varování znamená?

  3. ATOP zobrazuje červenou čáru vmcom a vmlim. Co to znamená?