User Tools

Site Tools


bash_notes

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
bash_notes [2022/01/04 22:00] – [echo a string with multiple spaces] rajubash_notes [2023/12/28 08:49] (current) – [other pages in this wiki] raju
Line 1: Line 1:
 +===== tasks =====
 +==== dummy ====
 +  * [[list files within a specific range]]
 +
 ===== dummy ===== ===== dummy =====
 +==== other pages in this wiki ====
 +  * [[bash scripting]]
 +  * [[shell scripting notes]]
 +
 ==== useful links ==== ==== useful links ====
-  * https://mywiki.wooledge.org/ArithmeticExpression - Arithmetic Expansion +  * https://explainshell.com/ - useful for understanding complex shell commands 
 +  * https://mywiki.wooledge.org/ArithmeticExpression - Arithmetic Expansion 
 +  * https://misc.flogisoft.com/bash/tip_colors_and_formatting - escape characters, color prompts, echo colored strings 
 +  * http://ezprompt.net/ - Easy bash prompt generator 
 + 
 +==== documentation links ==== 
 +  * ignoredups, erasedups - https://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html search for ignoredups . 
 + 
 +==== what is the difference between "ls > dirlist 2>&1" and "ls 2>&1 > dirlist"? ==== 
 +The command 
 +<code> 
 +ls > dirlist 2>&
 +</code> 
 +directs both standard output (file descriptor 1) and standard error (file descriptor 2) to the file dirlist, while the command 
 +<code> 
 +ls 2>&1 > dirlist 
 +</code> 
 +directs only the standard output to file dirlist, because the standard error was made a copy of the standard output before the standard output was redirected to dirlist. 
 + 
 +To conclude, the order of redirections is significant. 
 + 
 +Ref:- https://www.gnu.org/software/bash/manual/html_node/Redirections.html -> 5th paragraph. 
 ===== getopts ===== ===== getopts =====
 ==== useful articles ==== ==== useful articles ====
Line 113: Line 143:
       * check if a number is greater than something       * check if a number is greater than something
       * compare numbers       * compare numbers
 +
 +==== add an element to an array ====
 +
 +<code>
 +appliances=("AC" "TV" "Mobile" "Fridge" "Oven" "Blender")
 +appliances+=("Dish Washer")
 +for appliance in "${appliances[@]}"
 +do
 +     echo $appliance
 +done
 +</code>
 +
 +<code>
 +languages=("PHP" "MySQL" "Bash" "Oracle")
 +languages[${#languages[@]}]="Python"
 +for language in "${languages[@]}"
 +do
 +     echo $language
 +done
 +</code>
 +
 +<code>
 +fruits=("Banana" "Mango" "Watermelon" "Grape")
 +fruits=(${fruits[@]} "Jack Fruit")
 +for fruit in "${fruits[@]}"
 +do
 +     echo $fruit
 +done
 +</code>
 +
 +<code>
 +men=("John" "Watson" "Micheal")
 +women=("Lisa" "Ella" "Mila")
 +people=(${men[@]} ${women[@]})
 +
 +for person in "${people[@]}"
 +do
 +     echo $person
 +done
 +</code>
 +
 +Ref:-
 +  * https://linuxhint.com/bash_append_array/ - well written but the information density is low. So I just summarized the points here and renamed the variables a bit.
 +  * https://stackoverflow.com/questions/1951506/add-a-new-element-to-an-array-without-specifying-the-index-in-bash
  
bash_notes.1641333652.txt.gz · Last modified: 2022/01/04 22:00 by raju