Dear All,

Might I suggest/request that "set +n" should undo the effect of
"set -n"  ?

For example:

        #!/bin/bash
        echo one
        set -n
        echo two
        set +n
        echo three

would print:
        one
        three


Here's why I think it would be useful:


1. Bash doesn't have a block-comment mechanism, like /* ... */
and this would provide one.

2. The documentation for "help set" says that flags can be undone with "+", thus the inverse of -n is +n. (though in contradiction , it also says that subsequent commands (which would include the "set" are ignored)


3. It would allow for a neat hack with polyglots. For example:

#!/bin/bash -n
<?php /*
set +n
echo "Hello, from Bash"
exec /usr/bin/php -ddisplay_errors=E_ALL $0 $@
*/
echo "Hello from PHP ".phpversion()."\n";
//continue in PHP till the end of the file.
?>


(there is actually a serious purpose to this, namely to create a php-cli script that shows all errors, despite the settings in the system-wide php-ini file)

Example 3 works if you remove the "-n" and "set +n" parts, though it then emits an annoying complaint about "?php: No such file or directory"


Thank you for your consideration,

Best wishes,

Richard

Reply via email to