- PR -

シェルで配列の扱い

1
投稿者投稿内容
しん
常連さん
会議室デビュー日: 2004/04/04
投稿数: 48
投稿日時: 2006-12-30 00:15
シェルで配列を扱いたいと思いネットで調べたところ
下記のようにやっているサンプルプログラムを見つけました。
下記の様にやるとlsの結果がスペース区切りで表示されます。
filesの配列の要素数だけループを繰り返しそのループの中で
一つずつ要素を取り出したいと思います。そのようなことは
シェルでできますでしょうか。


#!/bin/bash

files=(`ls *.sh`)
echo ${files[@]}


もうひとつ質問なのですがAとBという名前のシェルのファイルがあったとき
AのファイルからBのファイルに定義されたファンクションを呼ぶことは
できますでしょうか?

[ メッセージ編集済み 編集者: かんたろう 編集日時 2006-12-30 01:42 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-12-30 10:49
引用:

かんたろうさんの書き込み (2006-12-30 00:15) より:

filesの配列の要素数だけループを繰り返しそのループの中で一つずつ要素を取り出したいと思います。そのようなことはシェルでできますでしょうか。


基本制御文の for で、簡単にできると思いますが...
bash の for は、どちらかというと C# や Perl の foreach のようになりますが。

コード:

    for [var] in [array]; do
        echo ${[var]}
    done


変数名は読み替えてください。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
大ベテラン
会議室デビュー日: 2006/06/28
投稿数: 116
投稿日時: 2006-12-31 22:21
引用:
もうひとつ質問なのですがAとBという名前のシェルのファイルがあったとき
AのファイルからBのファイルに定義されたファンクションを呼ぶことは
できますでしょうか?


こちらですが、別ファイルに記述されたファンクション(シェル関数)を使用する場合には
ドットコマンドを使用すれば可能です。
私は、関数は関数だけを記述したファイルとするのが好きです。
1

スキルアップ/キャリアアップ(JOB@IT)