fork download
  1. #!/bin/bash
  2.  
  3. # ideone boilerplate - we can't write files in the home directory;
  4. # so create a temporary directory for our files instead
  5. t=$(mktemp -d -t ideone.XXXXXXXXXXXX) || exit
  6. trap 'rm -rf "$t"' ERR EXIT
  7. cd "$t"
  8.  
  9. mkdir -p source lib
  10.  
  11. cat <<\:>source/main.bash
  12. source lib/include.bash
  13. echo "test_dir: $test_dir"
  14. :
  15.  
  16. cat <<\:>lib/include.bash
  17. get_bash_script_dir() {
  18. dirname "$0"
  19. }
  20.  
  21. test_dir="$(get_bash_script_dir)"
  22. :
  23.  
  24. bash source/main.bash
Success #stdin #stdout 0.01s 5432KB
stdin
Standard input is empty
stdout
test_dir: source