Kubernetesについて
目次 先にdockerの知識をつけてから読むことを勧めます kubernetesとは kubernetesのインストール 定義ファイルの書き方 1. kubernetesとは Google開発の複数…
View ArticleBashスクリプトの雑多なまとめ (my備忘録)
自分がスクリプトを書く際に「あの処理って、どう記述するんだっけ?」とあれこれ検索し直すことが度々あったので。作業効率化のために、一箇所にまとめてゆく予定。(新しいことを学ぶ度に随時追加) 目次 I.…
View Article【Bash】trapコマンドの使い方
trapコマンドとは trapコマンドはシグナルを受け取った際の動作を設定するコマンドです。 以下のように記述します。 trap 'コマンド' シグナル 上記の「シグナル」にはシグナル名またはシグナ…
View Articleslackへの通知をおこなうshell script
はじめに Slackへの通知をshell scriptで実行する方法を記載しています 難しいことは何もしていませんが、低リスク低コストで何かしらの通知機能を実装しようというときに参考になるかもしれま…
View Articlebash の関数定義の本体は { ... } や ( ... ) などの Compound Commands
bash で関数を定義するときに function name { ... } 以外に function name ( ... ) と書くことができると知りました。 bash のマニュアル (Bash…
View Articledate +%s(UNIX時間)に移植性がないのは過去の話
はじめに むしろ date +%s に移植性がなかったの?と驚く人のほうが多いのではないかと思いますが、現在の POSIX Issue 7 では、date コマンドの書式で +%s (UNIXTIM…
View ArticlePDFからページ数の情報を抜いて総ページ数を計算して表示する
背景 最近自宅の蔵書を裁断して電子書籍にしていますが どれだけの量になったか確認したくて 色々調べてみました。 pdfinfoコマンド たとえばsample.pdfの情報がほしい場合、次のコマンドを…
View Articleシェルスクリプトの $* と $@ の違いと雑学色々
TL;DR $* と $@ の違いは複数の引数を一つに結合するかしないかの違いです。通常は複数の引数を一つに結合したりしないので "$@" を使いましょう。またダブルクォートなしの $* や $@ …
View Articleシェル芸で解くAtCoderの問題n選
はじめに シェル芸(Bash)で解くことができるAtCoderの問題を紹介します。 本題の前に AtCoderに初めて触れる方は、こちらの記事も参考にしてくださいませ。 https://qiita.…
View Article.bashrcについて
先頭に.がついているファイルは隠しファイルとなり、特別なファイルとなる。 .bashrcなどはbash起動時に読み込まれる。 そのためパスを通すときなどは、.bashrcや.zshrcなどにパスを書…
View Article【備忘録】online-judge-toolsのサンプルテストをタスク自動化する【AtCoder】
背景 やりたいことはタイトルの通りです。 サンプルテストをCtrl+Shift+B でできるようにします。 この記事を読んで得られる知見 tasks.jsonの書き方がなんとなく分かる 環境・使用ツ…
View Articleシェル芸(Bash)で『競技プログラミングの鉄則』の問題を解く
はじめに 米田優峻さんの書籍『競技プログラミングの鉄則』を購入したので、シェル芸(Bash)を用いて問題を解いていこうと思います。ただし、Bashは処理速度がCやC++などと比べるとそこそこ遅いため…
View Article【Bash】PS4の設定方法【Zsh】
はじめに PS4を設定することでファイルを実行した際のログの表示を変更できる。 Bashの場合 export PS4='+\e[32m[\t]\e[34m[${BASH_SOURCE[0]##*/}…
View Article競プロ用備忘録 g++を実行するエイリアスを作成する
何をするか? 競プロでC++を使うときの面倒な実行コマンドを、エイリアスを使って超簡単にする。 $ g++ -std=c++11 a.cpp && ./a.out && rm -f a.out $ …
View Articlecommit時に含まれて欲しくない文字列を検査して入っていたらコミットさせない方法(git hook)
はじめに config.ini等の設定ファイルに保存された値(パス等)でコミットしたくないものを誤ってコミットする前に気づけたらいいなと思って作りました。 環境 Windows 11 Powersh…
View Articleechoコマンドの移植性が低い歴史的理由とPOSIXの改定方針 ~ 次期POSIXでbashのechoはPOSIX準拠になる!
はじめに 実は bash に組み込まれた echo コマンドは POSIX に準拠していません。しかし 2023 年に予定されている次期 POSIX (Issue 8) の改定で、POSIX 準拠の…
View Article【Bash】変数に値が設定されていない場合にエラーにする方法
set -u set -uを記述しておくと未定義の変数があるとエラーになります。 ${sample:?message} 変数を参照する際に以下のように記述することで変数に値が設定されていない場合にm…
View Article【base shellscript】競技プログラミングでの値取得 01
入力値 ・パターン1(文字列) 入力 入力例1 abcdefg #!/bin/bash # 取得方法(read 変数)で取得できる。 read s # 出力 echo $s 出力結果 abcdefg ・パターン2(数値)※パターン1と同…
View Article『debian linux』でサーバーのシステム時間とハードウェアクロックの時間を暫定的にセットする。(2)
目的 止む得ない場合に時間を設定するために近隣のwwwサーバやポートが開いている外部のwebサーバから取得し設定する。 ※以前記載したものをperlを使用しない方法を検討した。 方法 システム標…
View Articlegrep,cut,sedでtsvから特定の行を抜き出して配列っぽくする。
grep,cut,sedでtsvから特定の行を抜き出して配列にする。 server2*の3列目を抜き出す場合。 grep -r "server2" hogehoge.tsv \ | cut -f3 …
View Article