私は "Unix Programming Environment"の本を使ってシェルプログラミングを教えようとしています。私はシステムからすべてのセマフォを削除するスクリプトを書こうとしていました。しかし、私は一時ファイルを使用しない方法を見つけることができませんでした。ここで動作するが、一時ファイルを使用するコードです。はるかに簡単な解決策があると確信しています。助けてください。あなたが別のコマンドラインパラメータとして1つのプログラムからの出力を渡すことができますシェルスクリプトは一時ファイルを使用します。その他の方法で?
# remsem: Remove all the semaphores
IFS='
'
set X`ipcs`
j=0
for i
do
case $i in
*semid*) j=1;;
*'Message Queues'*) break;;
esac
if [ $j = 1 ]
then
echo $i
fi
done |
awk ' $1 != "key" { print $1 } ' > /tmp/remsem.$$
set `cat /tmp/remsem.$$`
for i
do
`ipcrm -S $i`
done
rm /tmp/remsem.$$
ありがとうございました:D –