全ては時の中に…

システム開発全般の技術や開発に役立つツール、プログラミングのサンプルを紹介しています。

Linux

【C++】Linuxでコマンドの実行結果を取得する

C言語やC++では、system()関数を利用することでコマンドを実行できます。
しかし、system()関数は、戻り値としてコマンドの成否しか返さないため、実行したコマンドの詳細なステータスを取得することができません。
(system関数()は、シェルの実行結果を返します。そのため、コマンドでエラーが発生した場合、どのようなエラーなのかまで特定できません)
ここでは、Linux環境で詳細な終了ステータスを取得する方法について説明します。

Linuxで詳細な終了ステータスを取得したい場合、WEXITSTATUS()マクロを利用します。

以下、サンプル。
例として、ネットワークコマンドのpingコマンドを用いて説明します。
続きを読む

【Linux】ファイルパスからファイル名を取得する

前回の記事「【Linux】bashで指定したディレクトリ内のファイルを取得する」に関連する話題です。
シェルスクリプト(bash)でファイルパスからファイル名を取得したいことがあります。
この実装方法について説明します。

ファイルパスからファイル名を取得するには、basenameコマンドを利用します。
basenameコマンドは、Linuxの標準コマンドで、構文は以下の通りです。
basename ファイルパス [サフィックス]

※サフィックスは、後につける識別子のことです。
 (拡張子のような感じで名前の最後に付けることで種類等を識別できるようにしたものです)

以下、サンプル。
続きを読む

【Linux】bashで指定したディレクトリ内のファイルを取得する

シェルスクリプト(bash)を使って指定したディレクトリのファイルを1つずつ処理する方法について説明します。

指定したディレクトリからファイルを1つずつ取得するため、繰り返し処理が必要になります。bashで1つずつファイルを取得するには、「for...in」ステートメントを利用します。
(for...inステートメントは、繰り返し処理を実装する場合に利用します)

繰り返し条件の構文は、以下の通りです。
for 変数名 in "取得条件"
do
done

取得条件に合致するファイルパスを変数名に格納します。

以下、サンプル。
続きを読む

【Linux】シェルスクリプト(bash)で処理を一時停止する

Linuxのシェルスクリプト(bash)で、以前の記事「【コマンド】バッチプログラムの処理を一時停止する」のように処理を一時停止する方法について説明します。

Linuxでは、readコマンドを利用して、ユーザからのキー入力待ちが発生します。
このコマンドを利用して、処理を一時停止します。
但し、readコマンドは、処理を一時停止するための専用コマンドではない点に注意して下さい。

以下、サンプル。
続きを読む

【Linux】LinuxでSQL Serverにアクセスする

LinuxからSQL Server 2005にアクセスするための方法について説明します。

LinuxからSQL Serverにアクセスするには、ODBC接続を利用します。
ODBC接続を利用するには、以下のライブラリが必要になります。

 1.unixODBC
 2.FreeTDS

上記のライブラリをインストールし、適切な設定を行うことで、SQL Serverへのアクセスが可能になります。

以下、設定手順です。
続きを読む

【Linux】改行コードの変換(Windows→Linux)

WindowsとLinuxでは、改行コードが異なります。
改行コードは、それぞれ以下の通りです。
 Windows … CRLF(キャリッジリターン+ラインフィード)
 Linux … LF(ラインフィード)

上記の違いにより、Windowsで作成したテキストファイルをLinuxにコピーして利用する場合、改行コードを変更しなければならない事があります。
(プログラム等で処理する場合、改行コードの違いによって正しく処理できないことがあるためです)
このような場合にLinuxのコマンドで改行コードを変換する方法について説明します。

Linuxには、trコマンドという文字列操作用コマンドがあります。
このコマンドでは、文字列の置き換えや削除ができるため、これを利用して改行コードをLinuxのコードに置き換えます。
(正確には、改行コードのCRを削除すれば、Linux用の改行コードになります)

以下、改行コードからCRを削除するコマンドです。
# tr -d '\r' <入力ファイルパス> 出力ファイルパス

オプションについての説明です。
 ・-dは、指定した文字の削除を意味します。
 ・"\r"は、復帰コード(キャリッジリターン)を表します。
 ・入力ファイルパスには、改行コードのCRを削除したいテキストファイルのパスを指定します。
 ・出力ファイルパスには、変換後の結果を保存するファイルパスを指定します。
  入力ファイルパスと同じファイルに上書きする場合には、入力ファイルパスと同じものを指定します。

尚、改行コードを確認するには、odコマンドを利用します。
# od -c テキストファイルパス

ここで確認したテキストファイルに「\r \n」というコードがあった場合、改行コードがCRLFとなります。
単に「\n」となっている場合は、改行コードがLFとなっているため、Linux用の改行コードとなっています。

以下、改行コードを変換する手順です。
続きを読む

【Linux】環境変数を設定する

ソフトウェアによっては、環境変数を必要とするものがあります。
Fedora 10で環境変数を利用する方法について説明します。
Linuxでは、環境変数はexportコマンドを利用して設定します。

《構文》
  export 変数名=値


TEST_PATHという環境変数に「/usr/test」を登録する場合は、以下のように登録します。
export TEST_PATH=/usr/test

このexportコマンドで登録した環境変数は、シェルを終了すると同時に破棄されてしまいます。
(コンソールで定義した場合、コンソール終了時に破棄されます)

毎回、環境変数を定義するのは面倒なので、自動的に読み込ませたいと思います。
RedHat系の場合、「/etc/profiled.d/」にshファイルを作成し、そのファイルに環境変数を定義しておくことで、ログイン時に自動的に読み込みます。
ログイン時、このフォルダにある全ての「.sh」と「.csh」ファイルが自動的に読み込まれます。
そのため、ファイル名に制約はありません。
これにより、ソフトウェア毎に固有の定義ができるため、管理がしやすくなるというメリットがあります。

以下、登録手順です。
続きを読む
Recent Comments
Recent TrackBacks
Profile

ふりっつ

システムエンジニア
取得資格:
 ソフトウェア開発技術者
 MCP(70-290)
メールマガジン:
 【出張版】全ては時の中に…

メールマガジン
メルマガ登録・解除
【出張版】全ては時の中に…
 
 powered by メルマガスタンドmelma! トップページへ
ブログランキング
アクセス解析出会い




にほんブログ村 IT技術ブログへ

にほんブログ村 IT技術ブログ プログラム・プログラマへ

Amazon
スポンサー
HonyaClub.com

PCDEPOT WEB本店/OZZIO

FUJIFILMMALL(フジフイルムモール)

IT 関連資格ならクラムメディア問題集

  • ライブドアブログ