meta data for this page
  •  

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
linux:bash [2023/11/23 06:57] niziaklinux:bash [2026/05/05 12:13] (current) niziak
Line 105: Line 105:
 </code> </code>
  
-===== include/source other scripts ===== 
-Possible test scenario: 
-  - call using from another directory full path /home/user/bin/myscripth.sh 
-  - add /home/user/bin to PATH and then call from another directory by "myscript.sh" 
-  - create symlink to script and call using symlink. Check for relative and absolute symlinks. 
-  - it should work also if it is sourced "source" or "." 
- 
-The best is to create setup/installer script which hardcode path to one shared script. 
- 
-Another solutions: 
-<code bash> 
-#!/bin/sh 
-MY_DIR=$(dirname $(readlink -f $0)) 
-$MY_DIR/other_script.sh 
-</code> 
- 
-<code bash> 
-DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) 
-</code> 
- 
-<code bash> 
-# Works correctly if script is sourced from another one 
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 
-</code> 
- 
-<code bash> 
-cur_file="${BASH_SOURCE[${#BASH_SOURCE[@]} - 1]}" 
-cur_dir="$(dirname "${cur_file}")" 
-</code> 
- 
-''`BASH_SOURCE' 
-     An array variable whose members are the source filenames where the 
-     corresponding shell function names in the `FUNCNAME' array 
-     variable are defined.  The shell function `${FUNCNAME[$i]}' is 
-     defined in the file `${BASH_SOURCE[$i]}' and called from 
-     `${BASH_SOURCE[$i+1]}' 
-''