タグ別アーカイブ: Shell

IBM System i (AS400): IFS上のテキスト形式ファイルを5250プロンプトから印刷(スプール化)

本記事はIBM i OSにおけるIFS上のテキスト形式ファイルをコマンドでPrint(スプールファイル化)する方法を記載する。

続きを読む

Gitの基本操作コマンドでローカルリポジトリ上でブランチを作成

本記事は基本的なGitコマンドを基にサンプルシェルの更新の過程でローカルブランチの作成手法を紹介する。

対象サブコマンド: init, status, add, commit, log, show, branch, checkout, tag.

※尚、各項目のコマンド説明文にgit開発元のReferenceリンクを併記している。

前提

以下の内容は本記事には含まず、既知・設定済みとして扱う。

  • バージョン管理, Gitの概要
  • Gitクライアントのインストール
  • Gitクライアントの設定(user.name, user.email等)

続きを読む

IBM System i (AS400): シェル (qsh) からCLコマンドを実行する

IBM i(AS400)上のシェルスクリプト内でCLコマンドを実行することができるので、物によってはCLPでプログラムを組むより簡単にできることがある。当記事は「引数で与えられたファイル内の端末デバイス一覧を用いてデバイスを一括で作成するシェル」を通じてシェル内でのCLコマンドの使用方法を紹介する。

続きを読む

UNIX: pushd, popd, dirs – ディレクトリスタックによる移動

シェルコマンドpushd, popd, dirsを用いて、ディレクトリスタックを使うことでディレクトリ間の移動を簡潔に行うTips。

使い方

pushdでスタックにジャンプしたいディレクトリを登録し、それをカレントディレクトリとする。popdで一番最後に登録したディレクトリを取り出し、それをカレントディレクトリとする。dirsでスタック内に登録されているディレクトリを表示。

スタックへディレクトリの登録

ディレクトリ間の移動

上記のスタックの状態からホームディレクトリに移動するにはpushd +2を使用する。

aliasへの登録

当コマンドをより便利に使う為に、以下のaliasやよく使うディレクトリを予め~/.bash_profile等に登録しておくと良い。

これで若干でも日々のタイプ量が減ると思うと、かなり良い。

参考サイト

Linux: シェル(Bash)の機能の概要 – 復習のための覚書(前編)

シェルとは

  • ユーザーとカーネルの間のインターフェイス。ユーザーが入力したコマンドや文字列のメタキャラクタを解釈するインタープリタ。

続きを読む

Bash: 数値と文字列の判別

手っ取り早く数字文字列とそれ以外の文字列を判別する条件式は以下のとおり。

コード

実行結果

解説

exprで正規表現を用いて数値を判定。exprは内部コード以外にも標準出力にも結果を返すので、不要なそれは/dev/nullへリダイレクトする。

Shell Script: testコマンドによる条件判定 (数値、文字列)

test_command

上表はshの組み込み、かつ外部コマンドでもあるtestコマンドの判定表。testコマンドは与えられた条件式に対して、終了コードに真「0」偽「1」を返す。他のプログラミング言語の条件判定とは真偽の値の意味が逆なので違和感を覚えるが、例えばC言語のmainのreturn (システムへのreturn)は正常では0、異常では1を返す例と同様と考えるとしっくりくるかな。。

続きを読む