から出力された各行の列データを取得します。コピーしたり、再生するためにvlcなどのプログラムに渡すメモリ内のフラッシュファイルを識別するスクリプトがあります。ls -l
#!/bin/bash
pid=($(ps aux | grep flash | grep -v grep | grep -v bin/flash))
cd "/proc/${pid[1]}/fd"
file=($(echo `ls -l | grep /tmp/`))
file="${file[8]}"
echo "$file"
これはうまく動作しますが、私はそれが最初のものだけを返しているとして、それは、それぞれの一致するファイルを返すようにしたいです。
私は通常、多次元配列のようなことをやっていますが、bashにはそれらがなく、たとえそれがあっても構文を知らないでしょう。
出力を1行ごとに分割して、それぞれから[8]
の値をエコーしますか?
http://mywiki.wooledge.org/ParsingLs –
その後、私の問題が「どのように/ tmp /フォルダを指すシンボリックリンクのファイル名の配列を作成するには」 - おそらくはるかに複雑な問題です。しかし、私たちは/ proc /ディレクトリに入っているので、すべてのファイル名は単純な整数になりますので、 'ls'をあまり問題なく解析できます。 –