シェルスクリプトで使えるgotoコマンドを作ってみた
はじめに かつてシェルスクリプトではフロー制御に goto コマンドが使われていました。Bourne シェルが誕生するよりも前の Thmopson シェルの時代の話です。goto コマンドはシェルビ…
View ArticleThe default interactive shell is now zsh. ~ を非表示させたい
プログラミングを学び始めて半年ほどの初学者です。PHP/LaravelでWebアプリの開発をチームで行なっています。 VSCODEでコーディングしているのですが、最近急にターミナル画面に下記が表示さ…
View Article【AtCoder】atcoder-tools + ファイルオープン + 問題オープン 自動化スクリプト
概要 atcoder-tools はAtCoderのコンテストのディレクトリ作成、テストケースダウンロード、提出などを全て行うことができる便利なツールです。 ↓お世話になってます https://g…
View Article【バルス】封じ! 間違ってrm -rfしないようにするターミナルの設定方法
これは何 みなさんはITエンジニア界の「バルス」ことrm -rfで失敗したことはありますか? 自分はrm -rf ~/hogeのつもりでrm -rf ~/ hogeを実行してホームディレクトリを消し…
View Articleシェルスクリプトのaliasを使った引数の生成(メタプログラミング)
はじめに シェルスクリプトの alias はコマンドに対して別名をつけたり、標準で追加するオプションを定義したりするために、主に(シェルスクリプトではなく)対話シェルで使う機能です。しかしその機能は…
View Article(開発2) yumパッケージインストール
■概略 オープンソースエンジニア歴30年超の筆者が2023年からIBMi(AS400)を学びだした学習記録です IFSをオープンソースエンジニアが慣れ親しんだUNIX環境にするために、yumでパッケ…
View ArticleTips: Linux のログファイルを、圧縮されてたものも、圧縮されていないものも一緒に扱う
Tips: Linux のログファイルを、圧縮されてたものも、圧縮されていないものも一緒に扱う 1. はじめに Apache2 のログファイルを、みなさんはローテーションしながら大量にためているもの…
View Article【Bash】変数の値から指定したパターンに前方一致した部分を削除する方法
変数展開の際に以下のように記述すると変数内の値から指定したパターンに前方一致(最短一致)した部分を削除できます。 SAMPLE=path/to/SAMPLE echo ${SAMPLE#path} …
View Articlebash内の文字列比較演算子"==", "="の違いについて
bashで文字列比較演算子を書くこと最近増え、少し悩んだので備忘録。 前置き bashでは文字列比較演算子を『==』でも『=』でもどっちにしても、以下のように実行可能である。 if [ ${env_…
View Articleブレース展開を使ってcpやmvを短く書く
既に有名なものかもしれませんが、Bashのブレース展開の応用方法を知ったので備忘録として残します。 ブレース展開とは、中括弧でくくったカンマ区切りの文字列を展開する機能です: $ echo a{1,…
View Article【Linux】Linuxの基本を理解する
はじめに 今回は、Linuxについて学んだことをまとめていきます! Linuxとは? Linuxはコンピュータを動かす基本的なソフトウェアであり、オペレーティングシステム(OS)の一種。OSはハード…
View Article(開発4)複雑なコンパイル手順(サービスプログラム等)
■概略 オープンソースエンジニア歴30年超の筆者が2023年からIBMiを学びだした学習記録です サービス・プログラムのように複数回コンパイルの必要な複雑なコンパイルをIFS上のbashスクリプトで…
View ArticleUbuntuサーバでユーザを追加
Ubuntuのサーバ上でユーザを追加する方法などの覚え書きです。 ユーザの確認 ユーザ名は一意である必要があると思うので、新しく追加したいユーザ名が既存のものと被ってないかどうかを確認する必要があ…
View ArticleBash 現在のシェルがログインシェルかどうかコマンドで確認する
概要 ターミナルで現在使用中のシェルがログインシェルなのか、非ログインシェルなのかをコマンドで確認する方法をメモ的にまとめる。 方法 下記コマンドを実行 shopt -q login_shell &…
View ArticleBash ログインシェル 非ログインシェルによって起動時に読まれるファイルが異なる
概要 ログインシェルと非ログインシェルによって起動時に読まれるファイルが違うらしいので簡単にまとめておく。 ログインシェルの場合 /etc/profileが読まれる 下記の中で最初に見つかったファイ…
View ArticleWarpターミナルを使うならBashは諦めよう
Warpは良い・・・のか? MacのターミナルエミュレータはずっとiTerm2を使っていましたが1年弱前くらいからなんか流行ってるからという理由でWarpターミナルに切り替えました。 背景画像や文字…
View Article【小ネタ】diffコマンドの終了ステータスを変更する
背景 diffは2つのファイルを比較し、その差分を表示するコマンドです。 diffコマンドの終了ステータスは、次の3パターンです。 0: 差分なし 1: 差分あり 2以上: エラー 今回、GitHu…
View Articleshell script でも ord と chr したい!!
たまたま必要になった、 shell script で ord と chr を使う方法です。 できるだけ環境に依存しないようにしました。(zsh は単語展開が他と違うため該当部分参照) エラーチェック…
View ArticleWSL上のnpmコマンドがある日突然見つからなくなった件
WSL上のUbuntu24.04LTSにNode.jsをインストールして使っていたnpmコマンドが、ある日突然実行できなくなりました。 fnmを使ってインストールしたものなのですが、シェル起動時のラ…
View ArticleOCI Cloud Shellを使ってリソースの情報を効率よく取得する方法
概要 この記事はOracle Cloud Infrastructure(OCI)のCloud Shellを使って、任意のリソース情報を取得する方法を記載します。 対象読者 OCIのリソース情報をコン…
View Article