ナナマルイチ


/usr/local/bin以下に実行権限を与えたシェルスクリプトファイルを置くと便利

2017/04/24

何が便利かというと、ファイル名を打ち込むだけでそのスクリプトが実行される。

環境: Ubuntu Server 17.04 + lubuntu-desktop

例えばエディタを開いて....

#!/bin/bash
# 日付の入ったディレクトリを作成
DIR=~/memo/$(date "+%Y")/$(date "+%m")/$(date "+%d")
if [ ! -d "$DIR" ]; then
   mkdir -p $DIR
fi

# ディレクトリ内のファイル数+1をファイル名とする
FILECOUNT=$(find $DIR -type f | wc -l)
FILENAME=$((FILECOUNT+1)).txt

# 日付と文字列をファイルに書き込む
cat > $DIR/$FILENAME<<-EOF
$(date "+%Y/%m/%d") $@
EOF

# Emacsで開く
emacs $DIR/$FILENAME

と書き「memo.sh」で保存する。

そして以下のコマンドで実行権限を与えたら...

$ chmod a+x memo.sh

「/usr/local/bin」にコピーをする。以下を実行。

$ sudo cp memo.sh /usr/local/bin/

すると、どのディレクトリ下にいても「memo.sh」でスクリプトが実行されるようになる。

例えば...

$ memo.sh "わーお"

とすると、「2017/04/24 わーお」と書かれたEmacsが起動して編集ができる。

また「which」コマンドでもその在り処が確認できる。

$ which memo.sh
/usr/local/bin/memo.sh

わーお