# 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) - [自作のコマンドを作成した](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!" ```