アプリケーションを起動および停止できるLinuxシェルスクリプト

アプリケーションを起動および停止できるLinuxシェルスクリプト

(編集者注:以下はGoogleが翻訳したものです。)

あなたに挨拶してください。アプリケーションを起動または停止できるシェルスクリプトを作成したいと思います。シェルスクリプトは、それぞれアプリケーションを起動または停止するために起動パラメータまたは停止パラメータを使用します。当然、関連するアプリケーションはシェルスクリプトで指摘する必要があります。

よろしくお願いします..すべての提案に開いています。


フランス語の原文:

こんにちは。アプリケーションを作成したりアプリケーションをダウンロードしたりするには、シェルスクリプトを使用します。スクリプトシェルはそのアプリケーションを起動または停止するか、パラメータに従ってアプリケーションを停止します。適用の問題です。スクリプトシェルの問題です。

Merci d'avance.. je suis ouvert à 宣伝提案

ベストアンサー1

以下のbash-script-templateが与えられたら、次のことができます。

  • 長いオプションを追加し--start--stop変数を設定したら、ifステートメントで使用してください。
  • startまたはstopにあることを確認し、${remaining_args[@]}その情報を使用できます。
if printf '%s\n' ${remaining_args[@]} | grep -Pq '^start$' ; then
  start your app
elif printf '%s\n' ${remaining_args[@]} | grep -Pq '^stop$' ; then
  stop your app
fi

テンプレートは次のとおりです。

#!/bin/bash - 
#===============================================================================
#
#          FILE: <filename here>
#
#   DESCRIPTION: 
#
#       OPTIONS: ---
#  REQUIREMENTS: ---
#          BUGS: ---
#         NOTES: ---
#        AUTHOR: 
#  ORGANIZATION: 
#       CREATED: 
#       LICENSE: 
#      REVISION:  ---
#===============================================================================

#=== Init ======================================================================
set -o nounset   # exit on unset variables.
set -o errexit   # exit on any error.
set -o errtrace  # any trap on ERR is inherited
#set -o xtrace    # show expanded command before execution.

unalias -a       # avoid rm being aliased to rm -rf and similar issues
LANG=C           # avoid locale issues
VERBOSE=         # Don't be verbose, unless given '-v'-option

ScriptVersion="1.0"

trap "cleanup" EXIT SIGTERM SIGINT

#=== Functions =================================================================
usage () {
  echo "

  Usage :  ${0##/*/} [options] [--]

  Options:
  -h|--help     Display this message
  -V|--version  Display script version
  -v|--verbose  Print informational text

  "
  exit 0
} # ----------  end of function usage  ----------

option_handling () {
  # see /usr/share/doc/util-linux/examples/getopt-parse.bash
  OPTS=$(getopt --name "$0" \
    --options 'hVv' \
    --longoptions 'help,version,verbose' \
    --shell bash \
    -- "$@") \
    || (echo; echo "See above and try \"$0 --help\""; echo ; exit 1)

  eval set -- "$OPTS"
  unset OPTS

  while true ; do
    case "$1" in
      -h|--help)
        usage
        ;;
      -V|--version)
        echo "$0 -- Version $ScriptVersion"; exit 0
        ;;
      -v|--verbose)
        VERBOSE=true
        shift
        ;;
      --)
        shift ; break
        ;;
      *)
        echo 'This should not have happened.  Probably getopt is misconfigured.'
        exit 2
        ;;
    esac
  done
  remaining_args=( "$@" )
} # ----------  end of function option_handling  ----------

_verbose () { # printf '%s\n' if VERBOSE, be silent otherwise
  if [[ ${VERBOSE} ]]; then
    _verbose() {
      printf '%s\n' "$@"
    }
    _verbose "$@"
  else
    _verbose() {
      :
    }
  fi
} # ----------  end of function _verbose  ----------

cleanup () { # Will be called by the trap above, no need to call it manually.
  :
} # ----------  end of function cleanup  ----------

# here you could source your scripting-libraries
# and make use of flatten.sh later.
# see https://github.com/markgraf/flatten.sh.git

#=== Main ======================================================================
main () {
  option_handling "$@"

  # Your script goes here...

} # ----------  end of function main  ----------

main "$@"

#=== End =======================================================================


おすすめ記事