UNIXの基礎(後編)
この記事についてUNIX系のパソコンについて基本的なことをまとめています。この記事を読んでちゃんと理解すればUNIXについての理解がかなり深まると思います。前編は以下のリンクからどうぞ。UNIXの基礎(前編)https://qiita.com/minnsou/items/6b6b74fcd79bd00ace1a環境設定環境の設定方法UNIXで使われるシェル(sh, csh,...
View Article【bash】Gitのブランチ名を「$」前に表示させる
はじめにGitを使っていて毎回ブランチを確認する際に$ git branch を使っていましたが、割とこのコマンドを使うことが多く、もっと楽に確認できる方法がないかなと探していた際にブランチ名を常に表示させておく方法があるとのことで、今回はその設定方法について書いています。xcodeを使って入れたGitのバージョン $ git --version git version 2.20.1 (Apple...
View Articleシンボリックリンクとハードリンクの違いって?
シンボリックリンクとハードリンクの違いや使い分けについてご存知でしょうか?自分はよく知らなかったので、関連する記事をいろいろ探してみました。図として直感的にわかりやすかったのはこちらの記事。それぞれの特徴についてもわかりやすく書かれています。https://eng-entrance.com/linux-permission-linkシンボリックリンクシンボリックリンクはショートカットというイメージが...
View Article# bash で __git_ps1 を使うときの注意点
__git_ps1 と 改行の食い合わせを気をつけないとお腹壊す僕は昔から PS1によく .bashrcexport PS1="\n [\W]\n"などのように ダブルコーテーションと \n を使うけど これが行けない。シングルコーテーション と 改行は '$'\n を であるべきだった。.bashrcsource ~/.git-prompt.sh export...
View ArticlePOSIX準拠のシェルスクリプトでバイナリデータを扱う
はじめにシェルスクリプトでバイナリデータを扱う方法は以下のようにすでにいくつか記事があります。シェルスクリプトはバイナリを扱えない。さてどうしよう……Bash/Zsh スクリプトならバイナリを扱える。さて何をしよう……バイナリーデータの扱い方 - 拡張 POSIX シェルスクリプト Advent Calendar...
View ArticleUbuntu18.04で.bashrcの編集内容が保存されないときの対処法
環境・ホストOS: windows10 home・WSL Ubuntu18.04 lts・Vscode ver1.43.2問題.bashrcに環境変数を設定しても、エディタを閉じると設定が保存されず、次回起動時に source ~/.bashrc で設定を読み込まないといけない。対処法以下の手順で解決した。① .bash_profileを開く $ vi ~/.bash_profile ②...
View ArticlePOSIX準拠のシェルスクリプトでハッシュ値を計算する(FNV-1 / FNV-1a実装)
はじめにPOSIX 準拠のシェルスクリプトでハッシュ値を計算したかったため FNV-1 / FNV-1a を実装しました。FNV-1 / FNV-1a は乗算と XOR だけを使ったシンプルなハッシュ関数です(参考 Fowler–Noll–Vo hash function)。 一応断っておくとシェルスクリプトでの実装は計算速度が遅いので、特に理由がないなら md5sumや...
View ArticleGithub(Git) 入門
はじめに春ですね,ご入社,ご入学おめでとうございます.この時期にGithub入門する人も多いと思います.この記事はせっかく社内ドキュメント作るのなら共有しちゃおうというものです.特有の言い回しなどはかみ砕いて説明するので,多少の相違は了承ください.なぜ必要? クラウドストレージと何が違うの?更新の時系列がわからないディレクトリがあなたのパソコンにはありませんか?...
View ArticleHTTPリクエストと(Postgre)SQLを自動化するスクリプトを書いてみた
ローカル環境において、手動でHTTPリクエストや(Postgre)SQLを実行するのが辛くなってきたため、それらを自動化するBashスクリプトを書いてみました。今回はこのスクリプトを解説いたします。GitHubリポジトリはこちらです想定している環境ローカル環境DBサーバ(PostgreSQL)がDocker上に存在必要なライブラリのチェックスクリプトではdocker、psql、jq、curlを使用し...
View Article【Git】Gitで現在のbranchを環境変数にセットする方法
方法現在developブランチにいるとして下記を実行します。$ export CURRENT_BRANCH="$(git branch --contains | cut-b 3-)"$ echo$CURRENT_BRANCH develop developブランチが$CURRENT_BRANCHにセットされました。何をやっているか$ git branch --contains* develop...
View ArticleシェルスクリプトでUNIXTIMEの取得と日時との相互変換(POSIX準拠dateコマンドのみ使用)
はじめに参考としてシェルスクリプトで UNIXTIME と日時を取得・変換する "一般的な" コマンドです。# 現在のUNIXTIMEを出力$ date +%s 1586250991 # 指定した日時のUNIXTIMEを出力$ date +%s --date'2020-01-02 03:04:05'# Linux$ date-j-f"%Y-%m-%d %H:%M:%S"'2020-01-02...
View Article【VS Code】Bashをフォルダーを指定して起動する方法
Bashをフォルダーを指定して起動する方法VS Codeで、ターミナルの設定をBashにしたいと思いました。...
View Articlecurlで -bash: -o: command not found
curlコマンドにはファイル保存する-oオプションがありますが、urlに&があるとshellのバックグラウンドプロセス実行として解釈されてしまい意図通りに動かない。(バックグラウンド処理されるだけなので標準出力に結果は表示される)動かない例$ curl...
View ArticleMacでコマンドラインからChromeを開く
毎回Dockとかに置いてあるアイコンをダブルクリックするのは面倒なので。 openコマンドを使うとイケる。open /Applications/Google\ Chrome.app/ エイリアスを貼っておくと便利。alias chrome='open /Applications/Google\ Chrome.app/'
View ArticleMacのTerminalをカラフルに彩る"exa"コマンド【Bash】
A. はじめに以下のように、普段terminalでlsと打ち、そのディレクトリのフォルダーやファイルを確認することが多いと思います。この記事では、このlsを見やすく彩ってくれるコマンドexaを紹介します。exaを使うと、以下のようにフォルダと色がついたりして、見やすくなります。また、以下のようにより見やすくするためのオプションコマンドも紹介します。B. インストール方法1....
View Article移植性・可搬性の高いシェルスクリプトを書くための技術まとめ
はじめにこの記事は私がシェルスクリプト用のBDDテスティングフレームワーク ShellSpecの開発を通して得た移植性・可搬性の高いPOSIX準拠のシェルスクリプトを書くための技術のまとめ、および関連する私の記事へのリンク集です。関連する新しい記事を書いたらここからリンクしますので、このページをストックするなりブックマークしておくと良いと思います。Q &...
View Article環境変数PATHの整理
What's ProblemMacのターミナルにて。自分好みの設定を入れるのに .bash_profileや .bashrcや色々といじっているのだけれど、ちょっと前から起動時に以下の様な Unknown option:1や headコマンドのUsageが出る様になった。Last login: Fri Mar 27 09:03:29 on ttys002 ~/.bash_profile is...
View ArticleVPN時にGoogle Meet等の通信をVPNスルーさせる設定(IPv4 Only)
IT系企業の方は多くの方が在宅勤務を余儀なくされている今日このごろかと思います。オンラインでのビデオMTGありますよね。VPNにつないだままMeetやZoomに接続すると、VPNルータや回線に大きく負荷がかかってしまいます。そのため、弊社ではCTOよりMeetにつなぐ際にはVPNを切るようにという指示が出ています。でも、MTGのときにいちいちVPN切ったり、MTG終わったらVPNつなぎ直したり、超め...
View Articlerails -v を行った際の Permission denied
macos自分用のメモです/usr/local/bin/rbenv-communal-gem-home を確認mkdir: /usr/local/bin/../version_cache: Permission denied /usr/local/bin/rbenv-communal-gem-home: line 21: /usr/local/bin/../version_cache/2.6.3:...
View Articlesh / Makefile で特定のエラーコードを無視したい
TL; DRshell スクリプトの場合# エラーコード 1 を無視 cmd.sh ||exit$(($?-1))# 複数のエラーコードを無視したい場合 (下記は 1, 2 を無視) cmd.sh || sh -c"exit $(($?-1))"|| sh -c"exit $(($?-1))"Makefile の場合TARGET:# エラーコード 1 を無視...
View Article