田畑を守る【メカ☆イノシシ】を作る!!
※日を跨いでしまいましたが、何とか書きました※書き足りないので、随時加筆修正するかと思います※害獣被害については、まだまだ勉強不足で、もし誤り等あればご指摘くださいmm目的...
View Article【bash】サーバ作業時のヒューマンエラーを防ぐ
シェルスクリプトをもっと有効活用しよう「これからどんなプログラミング言語を学ぶべきか?」という命題はいつの時代もみんなの心を悩ませますね。Python は人気急上昇ですし、Java を愛好する人もまだまだ多いです。”いや、C言語はまず押さえておくべきだ” という意見も根強く聞かれます。みんなそれぞれ、納得できるんですが、最初の言語として僕が初心者の方に敢えて勧めるのはシェル、例えば bash...
View ArticleAPIをお手軽にコマンド化する方法
ある日、pip searchコマンドを打ってみたらエラーが出ました。> pip3 search pymongo ERROR: Exception: # -- 中略 --'RuntimeError: This API has been temporarily disabled due to unmanageable load and will be deprecated in the near...
View ArticleSlackのwebhookにエラーログに特定の文字が含まれるかを送るスクリプト
健忘録的メモ。ここでは、 cron_daily.logにエラーがerrという文字列が含まれるかを確認して先頭100バイトをcurlでslackのwebhookに送っている。 head -c 100がないとcurlが失敗するので要注意。チャンネル名やwebhookのURLはダミー。#!/bin/bashERROR_CONTENT=`cat cron_daily.log | grep-i err |...
View Articleビルトインコマンドの一覧を"見やすく"見る方法
前書きビルトインコマンドの一覧を見る際のコマンドについて"見やすく"見る方法を書いた記事がなかったのでこの記事で紹介します。(gifを貼り付けたかったのですが、容量オーバになってしまったので今度他の方法を試します…)Zshの場合以下のコマンドで一覧を見ることができます。% man zshbuiltins Bashの場合以下のコマンドで一覧を見ることができます。help-m"*" | less
View Articlepush後にコードの変更を追加する方法
プログラミングを勉強していると、GitやGitHubを使う機会は非常に多いと思います。 GitやGitHubを使う上でコミットの粒度を綺麗に保つことが大切。しかし、それが結構難しく、pushした後に「この変更、さっきのコミットに追加したいな」なんて思うことが私は多々ありました。今回はその時に私が使っている方法を記事にしました。間違っている部分があれば申し訳ないです。m(_...
View ArticlePOSIX準拠シェルのためのpipefailとPIPESTATUSの実装(改良版)
はじめにPOSIXシェルにおいて複数のコマンドをパイプで繋いだとき、途中のコマンドでエラーが起きたとしても全体の終了ステータスは最後のものになります。#!/bin/sh foo(){exit 11;} bar(){exit 12;} baz(){exit 13;} foo | bar | baz echo$?# => 13 foo | bar | baz | cat echo$?# =>...
View Articlezsh: command not found: ls
こんにちは、ヤマウチです! windowsユーザーだった僕は、ついに憧れのmacを手にしました。やったぜということで色々ツールとかダウンロードしてなんかのタイミングでコマンドを打ったらzsh: command not found: lsまじかよ.zshrcを編集homeディレクトリに.zshrcがあるかどうか確認しましょう。% ls-la ~ zsh: command not found:...
View Article登録した情報をなかったことするコマンド
はじめに アプリケーションを作成している過程で色々な情報を保存していると思います。そんなときに、テーブルを真っ新な状態にしたいときに使うコマンドです。登録した情報を削除するカレントディレクトリがアプリケーションであることを確認して、ターミナルでrails db:reset 保存されているデータは全てなくなりますが、テーブルがなくなるわけではありません。
View Articlepacmanでパッケージ名のみを完全一致で検索する
pacmanでパッケージ名のみを完全一致で検索したい。-Ssなどは説明まで含んでしまうので適切ではない。そのため-Fqやgrepを使用して無理やり検索します。# slというパッケージを検索します pacman -Fq'sl' 2>/dev/null | grep-o'.*sl$'
View Articleエンジニアっぽくなろうとターミナルプロンプトいじる
そもそもプロンプトって?「プロンプト」は、ターミナルで(デフォルトの場合) dendenMacBookPro:Workspace denden $と書かれた行のことです。これがそれぞれ何を指しているかと言うと 【ホスト名】:【カレントディレクトリ】 【ユーザー名】 $...
View Articleシェルスクリプトで標準出力と標準エラー出力に別々の色をフィルタでつける
画面にログを出力する時、標準出力と標準エラー出力に別々の色がついていると見やすいですよね? 標準出力に出力する場合は out関数、標準エラー出力で出力する場合は...
View Articleシェルスクリプト(bash) チートシート
パイプライン・リストコード例意味パイプラインls -l | less左側のコマンドの標準出力が、右側のコマンドの標準入力に接続される&&リストtest -f file && file file2左側のコマンドの結果が真の場合のみ、右側のコマンドが実行される||リストtest -f file || exit...
View ArticleLaravelのローカル環境で困ったときにやること
エンジニアがプッシュしたものをプルしたあとに、ローカルでエラーが出たときなどに試すことをまとめていきます。php周りの操作キャッシュのクリアphp artisan cache:clear 新しくページが追加されたときやルーティングの変更があったとき ex: ページが404になるなどphp artisan route:clear コンフィグの変更があったときphp artisan...
View ArticleLambda関数でEmbulkコマンドを実行してみる(カスタムランタイム使用)
はじめにこの記事は BeeX Advent Calendar 2020の12/20の記事です。==...
View Articleコマンドで連続した数字を含む複数ファイル作成
結論入力touch report-{1..3}.cpp 結果以下のファイルが作成される: report-1.cpp report-2.cpp report-3.cpp...
View Articlebashのtestコマンドの整理
概要Bashで条件文を書く時に以下のように括弧を使うけど、きちんと仕組みを整理しておく。if[-f${FILENAME}];then ... fitestコマンド括弧は実はtestコマンドの省略形。以下の記述と上記は同じもの。 testコマンドは条件が真なら0、偽なら1を返すのでコマンドの戻り値をifで判定している。if test-f${FILENAME};then ... fiファイル系式説明-e...
View Articleログローテートソフトウエア logrotate についてまとめ
最近のLinuxではデフォルトで導入されている非常にメジャーなソフトウエア。サーバーのログファイルだけでなく、WEBアプリケーションのログファイルのローテーションにも使える。ファイル構成パス役割/etc/logrotate.confログローテーション全体の設定ファイル/etc/logrotate.d/*各サービスごとの設定ファイル/var/lib/logrotate.status or...
View Article