我正在嘗試使用「Unix編程環境」一書來教授自己的shell編程。我試圖編寫一個腳本來刪除系統中的所有信號。但是我找不到一個不會使用臨時文件的方法。這是可用的代碼,但使用臨時文件。我確信有一個更簡單的解決方案。請幫忙。Shell腳本使用臨時文件。任何其他方式?
# 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 –