code_junkie

shell script templates

Nov 13th, 2011
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. #!/bin/ksh
  2. #
  3. # @(#)$Id$
  4. #
  5. # Purpose
  6.  
  7. tmp=${TMPDIR:-/tmp}/prog.$$
  8. trap "rm -f $tmp.?; exit 1" 0 1 2 3 13 15
  9.  
  10. ...real work that creates temp files $tmp.1, $tmp.2, ...
  11.  
  12. rm -f $tmp.?
  13. trap 0
  14. exit 0
  15.  
  16. arg0=$(basename $0 .sh)
  17.  
  18. error()
  19. {
  20. echo "$arg0: $*" 1>&2
  21. exit 1
  22. }
  23.  
  24. vflag=0
  25. out=
  26. file=
  27. Dflag=
  28. while getopts hvVf:o:D: flag
  29. do
  30. case "$flag" in
  31. (h) help; exit 0;;
  32. (V) echo "$arg0: version $Revision$ ($Date$)"; exit 0;;
  33. (v) vflag=1;;
  34. (f) file="$OPTARG";;
  35. (o) out="$OPTARG";;
  36. (D) Dflag="$Dflag $OPTARG";;
  37. (*) usage;;
  38. esac
  39. done
  40. shift $(expr $OPTIND - 1)
  41.  
  42. shift $(($OPTIND - 1))
  43.  
  44. : ${PERL:=perl}
  45. : ${SED:=sed}
  46.  
  47. #!/bin/sh
  48. ## Usage: myscript [options] ARG1
  49. ##
  50. ## Options:
  51. ## -h, --help Display this message.
  52. ## -n Dry-run; only show what would be done.
  53. ##
  54.  
  55. usage() {
  56. [ "$*" ] && echo "$0: $*"
  57. sed -n '/^##/,/^$/s/^## {0,1}//p' "$0"
  58. exit 2
  59. } 2>/dev/null
  60.  
  61. main() {
  62. while [ $# -gt 0 ]; do
  63. case $1 in
  64. (-n) DRY_RUN=1;;
  65. (-h|--help) usage 2>&1;;
  66. (--) shift; break;;
  67. (-*) usage "$1: unknown option";;
  68. (*) break;;
  69. esac
  70. done
  71. : do stuff.
  72. }
  73.  
  74. #!/bin/ksh
  75.  
  76. # Script to turn lead into gold
  77. # Copyright (C) 2009 Joe Q Hacker - All Rights Reserved
  78. # Permission to copy and modify is granted under the foo license
  79. # Last revised 1/1/2009
  80.  
  81. # I am not crazy, this really is the only way to do this
  82.  
  83. if [ $i = 1 ]; then
  84. ... some code
  85. fi
  86.  
  87. [ $i = 1 ] && {
  88. ... some code
  89. }
  90.  
  91. if [ $i -ne 1 ]; then
  92. ... some code
  93. fi
  94.  
  95. [ $i = 1 ] || {
  96. ... some code
  97. }
  98.  
  99. cat << EOF > foo.sh
  100. printf "%s was here" "$name"
  101. EOF
  102.  
  103. printf "%s was here" "$name"
  104.  
  105. #!/bin/bash
  106. # [ID LINE]
  107. ##
  108. ## FILE: [Filename]
  109. ##
  110. ## DESCRIPTION: [Description]
  111. ##
  112. ## AUTHOR: [Author]
  113. ##
  114. ## DATE: [XX_XX_XXXX.XX_XX_XX]
  115. ##
  116. ## VERSION: [Version]
  117. ##
  118. ## USAGE: [Usage]
  119. ##
  120.  
  121. #!/bin/bash -
  122. #title :mkscript.sh
  123. #description :This script will make a header for a bash script.
  124. #author :your_name_here
  125. #date :20110831
  126. #version :0.3
  127. #usage :bash mkscript.sh
  128. #notes :Vim and Emacs are needed to use this script.
  129. #bash_version :4.1.5(1)-release
  130. #===============================================================================
  131.  
  132. set -o errexit
  133.  
  134. set -o nounset
  135.  
  136. set -o noclobber
  137.  
  138. set -o pipefail
  139.  
  140. shopt -s nullglob
  141.  
  142. set -o errexit -o nounset -o noclobber -o pipefail
  143. shopt -s nullglob
Add Comment
Please, Sign In to add comment