チップス

シェルスクリプト 文字列変数などのスペースを削除する方法


シェルスクリプトを使っていると、文字列比較をする時などに変数の余分なスペースを削除したい時があります。

#!/bin/bash

hoge=" abcd "
hoge=`echo $hoge`

if文 や testコマンドを使って条件式の判断をします。

if 文とは、与えられた条件式が真のときのみ処理を行い、それ以外の場合は処理をスキップする、といった場合に使用される条件分岐処理である。 条件式には一般的に test コマンドを用いるが、ls コマンドや grep コマンド等の他のコマンドを用いても構わない。 if 文は条件式に指定されたコマンドの終了ステータスを判定し分岐を行う。終了ステータスが「0」の場合は真、その他の場合は偽となる。

if 条件式 ; then
  処理
fi

testコマンド

if 文など条件式を評価する場合には test コマンドを使用する。どのような評価を行うかはオプションにより細かく指定することが可能である。 test コマンドは評価結果に従い、真(0)か偽(1)かの終了ステータスを返すのみで、画面上へのメッセージ出力等は一切行わない条件評価に特化したコマンドである。

tes 数値1 -eq 数値2

if文、testコマンドの具体的な使い方は if文と testコマンド というページに詳細かつわかりやすく解説されていました。

追記

twitter で tr -d で消しちゃうなー K.Namba/SIerは衰退しました ‏@ipv6labs さんよりご指摘。 ありがとうございます。


   チップス