Ben okuma kullanarak bir komut dosyası içindeki komutları çalıştırmak için çalışıyorum ve kullanıcı Ctrl + C kullandığında, ben komuta yürütülmesini durdurmak istiyor ama çıkmak değil senaryo. Böyle şey:BASH - kullanarak tuzak ctrl + c
#!/bin/bash
input=$1
while [ "$input" != finish ]
do
read -t 10 input
trap 'continue' 2
bash -c "$input"
done
unset input
kullanıcı Ctrl + C kullanır, ben girdi okuyan ve diğer komutlar çalıştırarak devam etmek istiyorum. sorun olduğunu ben gibi bir komut kullanırken:
while (true) do echo "Hello!"; done;
Ben Ctrl + C bir kez yazdıktan sonra O çalışmıyor, ama ben birkaç kez yazın kez çalışır. Farklı bir süreç grubundaki komutu çalıştırmak için gereken
#!/bin/bash
# type "finish" to exit
# function called by trap
other_commands() {
printf "\rSIGINT caught "
sleep 1
printf "\rType a command >>> "
}
trap 'other_commands' SIGINT
input="[email protected]"
while true; do
printf "\rType a command >>> "
read input
[[ $input == finish ]] && break
bash -c "$input"
done
'tuzak deneyin 'break' 2 'yerine –