[Bug 673119] Re: dash "set -e" breaks "trap action INT"
Status changed to 'Confirmed' because the bug affects multiple users. ** Changed in: dash (Ubuntu) Status: New => Confirmed -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/673119 Title: dash "set -e" breaks "trap action INT" To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/dash/+bug/673119/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 673119] Re: dash "set -e" breaks "trap action INT"
Output by dash 0.5.10.2-6: 3 ^CIgnored 1 Ignored 2 Back EXIT bash 5.0.3 works the same way. To get the output you want, you can use the following code: -- #!/bin/sh #set -e trap '' INT trap 'echo EXIT' EXIT sorry() { echo "Ignored 1"; echo "Ignored 2" sleep 1 echo Back } for i in 3 2 1; do echo "$i" ( trap 'sorry; exit 0' INT sleep 1 ) # || : done echo OUT - If you use bash, instead of dash, it would work even if "set -e" was used and "trap '' INT" was not used. If "set -e" was used with dash, you would have to uncomment "|| :" to make it work. See also Bug #892317 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/673119 Title: dash "set -e" breaks "trap action INT" To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/dash/+bug/673119/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 673119] Re: dash "set -e" breaks "trap action INT"
This bug is... now different. But not fixed. Using Dash 0.5.8-2.10, the output I get from the script is: 3 ^CEXIT Ignored 1 Ignored 2 Back Note that EXIT fires a lot earlier than expected, and the script unexpectedly terminates. I still see similar behaviour to the original bug (only one line is executed) with this script: #!/bin/sh set -e trap 'exit 1' INT trap 'sorry' EXIT sorry() { echo "Ignored 1"; echo "Ignored 2" sleep 1 echo Back } for i in 3 2 1; do echo "$i" sleep 1 # || true done echo OUT Expected output: 3 ^CIgnored 1 Ignored 2 Back Actual output: 3 ^CIgnored 1 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/673119 Title: dash "set -e" breaks "trap action INT" To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/dash/+bug/673119/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 673119] Re: dash set -e breaks trap action INT
I have reported this bug upstream and it has been confirmed. http://www.mail-archive.com/dash@vger.kernel.org/msg00401.html Apparently dash 0.5.6 fixes it, but releases up to Natty still use 0.5.5 ** Tags added: maverick natty -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/673119 Title: dash set -e breaks trap action INT -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 673119] Re: dash set -e breaks trap action INT
-- dash set -e breaks trap action INT https://bugs.launchpad.net/bugs/673119 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs