Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
shell:if-for-while-function-variable [2024/01/30 13:16] – tmadeshell:if-for-while-function-variable [2026/10/19 16:38] (current) – [Function] tmade
Line 37: Line 37:
  
 Common parameters (file): Common parameters (file):
- +  # 
-  e, -a         #File exist+  -e, -a        #File exist 
 +  -d            #File is a directory/ path exists
   -f            #File is a regular file   -f            #File is a regular file
-  -d            #File is a directory 
   -s            #File is non-zero size   -s            #File is non-zero size
   -h, -L        #File is a symbolic link   -h, -L        #File is a symbolic link
Line 153: Line 153:
  
   =, ==          #Is equal to   =, ==          #Is equal to
-  =~             #+  =~             #advanced regular expression compare
   !=             #Not equal to   !=             #Not equal to
   >              #Greater than   >              #Greater than
Line 162: Line 162:
 Note: To check other parameters use "man test", which uses same syntax! Note: To check other parameters use "man test", which uses same syntax!
  
 +Check string starts with "xyz" + "." + string-content:
 +
 +Example string: xyz.njknvjkgwrjkbhwje...njkruiehv
 +
 +<code>
 +if [[ $STRING =~ ^xyz\..{107}$  ]]; then
 +    echo "String starts with \"xyz\" and has 107 signs"
 +else
 +echo "String doesn´t match"
 +fi 
 +</code>
 ==== Array ==== ==== Array ====
  
Line 182: Line 193:
  
   echo ${array[0]}   echo ${array[0]}
 +
 +All entries:
 +
 +  echo ${array[*]}
      
  
Line 276: Line 291:
   for i in $(ls .pro*); do echo $i;  done   for i in $(ls .pro*); do echo $i;  done
  
 +<code>
 +test="/my/path"
 +for i in ${test} ; do
 +ls $i
 +sed -i "s/^\(;\|[0-9]\)/#disabled#/g" $i
 +done
 +</code>
 +
 +Running a for loop from 1 - 10 "in steps of two":
 +<code>
 +for i in {1..10..2};do
 + echo $i
 +done
 +
 +Output:
 +1
 +3
 +5
 +7
 +9
 +</code>
 ==== While ==== ==== While ====
 Infinite loop: Infinite loop:
Line 373: Line 409:
       sleep 10       sleep 10
 done done
 +</code>
  
 +<code>
 +while IFS= read -r CONFLINE; do
 +    case "$CONFLINE" in
 +        'logfile ""')
 +            echo 'logfile "/var/log/redis/redis-server.log"'
 +            ;;
 +        *)
 +            echo "$CONFLINE"
 +            ;;
 +    esac
 +done < /etc/redis/redis.conf > /tmp/redis.conf
 </code> </code>
  
 +Check, when a folder will be created:
  
 +<code>
 +#!/bin/bash
 +
 +# Path to folder
 +FOLDER="/path/to/folder"
 +
 +echo "Wait until: $FOLDER"
 +
 +# ! -d prüft, ob das Verzeichnis NOCH NICHT existiert
 +while [ ! -d "$FOLDER" ]; do
 +    sleep 1 # waiting....
 +done
 +
 +echo "Folder $FOLDER found! Loop terminated."
 +</code>
 ==== Function ==== ==== Function ====
  
Line 401: Line 465:
 fi fi
 </code> </code>
 +
 +<code>
 +#!/bin/bash
 +
 +function test {
 +echo $1
 +echo $2
 +}
 +
 +test first second
 +</code>
 +
 +Output:
 +  first
 +  second
 +
 +
 +
  
 Example: Example:
shell/if-for-while-function-variable.1706616964.txt.gz · Last modified: by tmade
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 4.0 International
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki