linux:bash

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revisionBoth sides next revision
linux:bash [2022/02/11 11:02] – [Generalities] mhlinux:bash [2022/02/28 14:53] – [Redirect to one file] mh
Line 19: Line 19:
 Bash is **not a strict interpreter**.  Bash is **not a strict interpreter**. 
  
-Beware of the ambiguity we are used to while expressing ourselves with human languages.+**Beware of the ambiguity** we are used to while expressing ourselves with human languages.
  
-The discipline of writing clear, safe and precise code lies heavily upon the user. +The **discipline of writing clear, safe and precise code** lies heavily upon the user. 
  
-**Don't write bad bash code.**+__**Don't write bad bash code.**__
 </WRAP> </WRAP>
  
Line 35: Line 35:
 Many command types are syntax sugar: their effect can be achieved differently, but they exist to make the job easier.  Many command types are syntax sugar: their effect can be achieved differently, but they exist to make the job easier. 
 </WRAP> </WRAP>
 +
 +==== Variables ====
 +
 +Before a command's name you can insert one or many ''var=value'' assignments. These variables will apply only to that one command.
  
 ==== Basic commands ==== ==== Basic commands ====
Line 41: Line 45:
  
 Bash performs a search using this name and looks for :  Bash performs a search using this name and looks for : 
-  *alias (first)+  *alias (before anything else)
   *functions   *functions
   *built-in commands   *built-in commands
Line 59: Line 63:
 $ echo $name $ echo $name
 john john
 +</code>
 +----
 +
 +=== type ===
 +
 +Displays information on a command, and where it is stored.
 +
 +//Note that the **type** command and the **which** program are different and give different outputs//
 +
 +**Example**
 +<code bash>
 +$ type ls
 +ls is aliased to 'ls -al'
 </code> </code>
 ---- ----
Line 102: Line 119:
  
 They can be a filename, a variable name, the name of a program or just a litteral. They can be a filename, a variable name, the name of a program or just a litteral.
 +
 +Multiple arguments can be used, separated by a blank space
 </WRAP> </WRAP>
  
Line 324: Line 343:
 As a result, both file descriptors are connected to the same stream. As a result, both file descriptors are connected to the same stream.
  
 +Be careful not to write something like ''$ ls -l a b >myfiles.ls 2>myfiles.ls'' as due to the way streams are handled they will most likely end up mixing up and garbling the file 'myfiles.ls'
 </WRAP> </WRAP>
  
  • linux/bash.txt
  • Last modified: 2022/02/28 14:54
  • by mh