テキストファイル内の文字を配列に格納し
処理をループさせるシェルを作成致しました。
#!/bin/bash
conf="/backup/dir.txt"
p=0
IFS=$'\n'
file=(cat "$conf"
)
"#配列に格納しディレクトリ配下を表示"
for i in ${file[@]}
do
echo "/home/$i"
ls -l "/home/$i"
let p=${p}+1
done
exit
上記のシェルを実行すると
/home/{dir.txt}に書かれた単語/配下のディレクトリが取得できます。
配列格納後の繰り返しコマンドを
echo "/home/$i"
ls -l "/home/$i"
から
ps -ef | grep "$i" | grep -v grep | wc -l
という、プロセスを確認するコマンドへ変更しました。
check_01: command not found
check_02: command not found
check_03: command not found
と、エラーになってしまいます。check_01-03はdir.txtに記載されている名前です。
初歩的な質問となってしまい申し訳ないですが
何故、ls,echo時は文字列として$iが認識されていたのに
psでは$iがコマンドとして実行されてしまっているのでしょうか。
解決策、原因をご教示頂けますと幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。