FiFiWiki2

FiFiWikiの第2版

ユーザ用ツール

サイト用ツール


unix

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
unix [2017/10/22 01:21]
fifi
unix [2017/10/22 06:14] (現在)
fifi [Bashスクリプト]
ライン 1: ライン 1:
  
 +# linux
  
 +## linuxのフォルダと配置について
 +自作のアプリケーションの設置方法が全く分からないので調査。
 +色々流派があり決まりはないみたい。個人的には/​home/​bin,​ /​home/​lib等に入れるとよさそうだ。
 + - [Linuxのディレクトリ構造(一覧)を理解する](https://​www.linuxmaster.jp/​linux_skill/​2010/​02/​06linux.html)
  - [なぜ,/​var や /etc が /etc や /cfg というディレクトリ名ではないのか? ](http://​d.hatena.ne.jp/​ytakano/​20100715/​1279219401)  - [なぜ,/​var や /etc が /etc や /cfg というディレクトリ名ではないのか? ](http://​d.hatena.ne.jp/​ytakano/​20100715/​1279219401)
  
  - [自作のコマンドを作成した](https://​qiita.com/​yoshiken/​items/​2b8e6c24d6b95e65b625)  - [自作のコマンドを作成した](https://​qiita.com/​yoshiken/​items/​2b8e6c24d6b95e65b625)
  
 + - [linuxのフォルダと配置について](https://​oshiete.goo.ne.jp/​qa/​6120165.html)
 +
 +## ヒアドキュメント
 +
 +soracom.confに書き出される。変数展開もされる。
 +```bash
 +# MAKE supervisor conf
 +cat << EOS > soracom.conf
 +[program:​soracom]
 +directory=${HOME}/​bin/​soracom
 +command=sh /​opt/​soracom/​connect_air.sh
 +redirect_stderr=true
 +stdout_logfile=/​var/​log/​supervisor/​soracom.log
 +user=root
 +EOS
 +
 +```
 +
 +変数に代入する
 +```bash
 +HOGE=$(cat << EOS
 +hoge
 +fuga
 +EOS
 +)
 +```
 +
 +## Bashスクリプト
 +
 + - メモ "​${HOME}"​展開される. '​${HOME}'​展開されない
 +
 +```bash
 +#!/bin/bash
 +set -C #​上書き防止
 +set -eu
 +
 +CMDNAME="​basename $0"
 +echo "[ INFO ] CMDNAME ${CMDNAME}"​
 +
 +SCRIPT_DIR=$(cd $(dirname $0);pwd)
 +echo "[ INFO ] SCRIPT_DIR ${SCRIPT_DIR}"​
 +# ====================================================================
 +# Check Option ​
 +# cmd -t
 +# ====================================================================
 +FLG_TEST="​FALSE"​
 +
 +while getopts t OPT
 +do
 +  case $OPT in
 + "​t"​ ) FLG_TEST="​TRUE"​ ;;
 + *  ) echo "Usage ${CMDNAME} [-t]" 1>&2
 + exit 1 ;;
 +  esac
 +done
 +
 +if [ "​$FLG_TEST"​ = "​TRUE"​ ]; then
 +  echo "[ INFO ] TEST MODE"
 +fi
 +
 +# ====================================================================
 +# Check Bash
 +# ====================================================================
 +if [ $SHELL == "/​bin/​bash"​ ];then
 +  echo "[ OK ]Im : bash"
 +else
 +  echo "[ NG ]Im ${SHELL} . Not /​bin/​bash"​
 +  echo "​[Warning] Need Bash.  Exit.."​
 +  exit 1
 +fi
 +
 +# ====================================================================
 +# Check User
 +# ====================================================================
 +if [ $(whoami) == '​root'​ ];then
 +    echo "[ NG ]Fail.. Im root.."​
 +    echo "[ NG ]Please Input => bash setup.sh"​
 +    echo "[ NG ]Not use sudo .."
 +    exit 1
 +else
 +    echo "[ OK ]Im $(whoami).. ​ not root."
 +fi
 +
 +# ====================================================================
 +# COMMAND EXISTS
 +# ====================================================================
 +if type aws > /dev/null 2>&​1;​then
 +  echo "[ OK ]Exists aws command."​
 +  echo "[ OK ]$(aws --version)"​
 +else
 +  echo "[ NG ]Fail! Uninstall aws command."​
 +  exit 1
 +fi
 +
 +# ====================================================================
 +# CONFIG key
 +# ====================================================================
 +CONFIG_KEY="​${BASE_DIR}/​configkey"​
 +. ${CONFIG_KEY}
 +
 +# ====================================================================
 +# EXISTS DIR
 +# ====================================================================
 +if [ ! -e ${BASE_DIR} ];then
 +  echo "[ INFO ] DIR ${BASE_DIR} is nothing"​
 +fi
 +
 +# ====================================================================
 +# mkdir
 +# ====================================================================
 +mkdir -p ${PHOTOS_DIR}
 +
 +# ====================================================================
 +
 +echo "[ OK ] Finish! Setup!"​
 +
 +
 +```
unix.1508635300.txt.gz · 最終更新: 2017/10/22 01:21 by fifi