linux_wiki:template_bash_script

Differences

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

Link to this comparison view

linux_wiki:template_bash_script [2016/06/23 22:33]
billdozor [Template: Bash Script]
linux_wiki:template_bash_script [2019/05/25 23:50]
Line 1: Line 1:
-====== Template: Bash Script ====== 
- 
-**General Information** 
- 
-Templates for creating two types of bash scripts: 
-  - A single script with arguments 
-  - A bash script that provides logging and launches a child script. 
- 
-**Checklist** 
-  * Distro(s): Any 
- 
----- 
- 
-====== Parent Script ====== 
- 
-This is the script to execute that will provide logging and launch the child script. 
- 
-<code bash script_skel.sh> 
-############################################################################################### 
-#!/bin/bash 
-# Name: script_skel.sh 
-# Description: Template wrapper script for script_worker_skel.sh that provides logging. 
-############################################################################################### 
- 
-##### Customize These Variables ##### 
-# Log file 
-log_file="${HOME}/script.log" 
- 
-# Name of worker script to execute 
-worker="script_worker_skel.sh" 
-#### End Customize Variables #### 
- 
-# Store this script's name and figure out the base path 
-script_name="$(basename ${0})" 
-base_path=$(echo ${0} | sed "s/${script_name}//") 
- 
-# Clear log and timestamp the beginning 
-echo -e ">>Logging output and errors to: ${log_file}\n" 
-cat /dev/null > ${log_file} 
-echo -e "---- Log Started: $(date) ----\n" >> ${log_file} 
- 
-## Execute Script ## 
-/usr/bin/time ${base_path}${worker} 2>&1 | tee -a ${log_file} 
- 
-# Close log file 
-echo -e "\n---- Log Completed: $(date) ----" >> ${log_file} 
- 
-# Reminder of log file location 
-echo -e "\n>>Logged output and errors was sent to: ${log_file}" 
-</code> 
- 
----- 
- 
-====== Child Script ====== 
- 
-This script does all the work and is launched via its parent script. 
- 
-<code bash script_worker_skel.sh> 
-############################################################################################### 
-#!/bin/bash 
-# Name: script_worker_skel.sh 
-# Description: Template for a worker script. Launched via parent script: script_skel.sh 
-############################################################################################### 
- 
-##### Customize These Variables ##### 
-#variable1="value" 
-##### End of Customize Variables ##### 
- 
-#### Functions Here: Main Starts After #### 
-# function name{ 
-# 
-#} 
-#### End of Functions #### 
- 
-#================== 
-# Main Starts Here 
-#================== 
- 
-# Pre-checks 
- 
-#============================================================== 
-# Confirm running the script 
-#============================================================== 
-echo -e "======================================================" 
-echo -e "####=============== Name of Script ===============####" 
-echo -e "======================================================" 
-echo 
-echo -e "Warning: This script will..." 
-echo -e "\n=>Continue?[y/n]:\c" 
-read run_script 
- 
-if [[ ${run_script} != "y" ]]; then 
-  echo -e "\n>>Will not run the Name of Script. Exiting..." 
-  exit 1 
-fi  
- 
-# Do some stuff 
- 
-echo -e "\n======================================================" 
-echo -e "####========== Name of Script Complete ===========####" 
-echo -e "======================================================" 
-</code> 
- 
----- 
  
  • linux_wiki/template_bash_script.txt
  • Last modified: 2019/05/25 23:50
  • (external edit)