0

基本的にはタイトル通り…

現在スクリプトを実行しているディレクトリを ls し、ディレクトリ内のすべてのフォルダーについて、そのディレクトリに cd し、フォルダー名を引数として使用してスクリプトを実行します。

つまり${HOME}、「31」と「32」という2つのディレクトリがあります(常に数値であり、そのように増分されます)

したがって、私のスクリプトでは、31でcdし、別のマシンからそのディレクトリにいくつかのファイルをrsyncし、cd ..、次に32にcdし、フォルダーがなくなるまで繰り返します。

現在の get.exp ですべてが動作し、実行中です。

for x in ls; do cd $x ; get.exp $x ; cd .. ; done

bash エイリアスとして。しかし、エイリアスを切り取りたいのですが...

4

1 に答える 1

4

あなたのループに相当するtclは

foreach x [glob -nocomplain *] {
    cd $x
    exec get.exp $x
    cd ..
}

それを単純化できるかもしれませんが (おそらくsource get.exp適切なプロシージャを使用または呼び出すだけです)、基本的な考え方は同じです。

于 2013-02-08T01:56:58.700 に答える