この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
bash 上で自分自身の内容を出力するスクリプトの作成です。 cat コマンドの応用が面白いと思ったので紹介します。
■ 動機
パスワードのヒントやそこそこ頻繁に使う長めのコマンドをメモしておいてターミナル上で簡単に表示できるようにしておきたい。
echo "Qu'est-ce que c'est?"
■ cat (基本)
テキストファイルの出力には cat コマンドを使用します。
echo "Je suis japonais." > sample.txt
cat sample.txt
試しに自分を出力するシェルスクリプト
cat << EOF > sample.sh
#!/bin/bash
cat \$0
# Nach dem Sinn von Sein soll die Frage gestellt werden.
EOF
chmod u+x sample.sh
./sample.sh
■ cat (応用)
# を不要にしたり、短くしたりできないか
例えば shebang に cat を使うとか。
cat << EOF > .1
#!/bin/cat
Veni, vidi, vici.
γνῶθι σεαυτόν
北 冥 有 魚 其 名 為 鯤
EOF
chmod u+x .1
./.1
できた。PATHを追加すればファイル名だけで表示可能。名付けて猫スクリプト