Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: How to "STTY" when "setopt nointeractive"?



DervishD <zsh@xxxxxxxxxxxx> writes:

>     Hi all :)
> 
>     In a shell script, this command:
> 
>     STTY=-onlcr stty -a
> 
>     doesn't have the desired effect (it doesn't deactivate onlcr). It
> has to do with the INTERACTIVE option, because if the bangpath in the
> script is "#!/bin/zsh -i" instead of the usual "#!/bin/zsh", it
> works. Is it my fault,a desired behaviour or a bug?

I guess the STTY special environment variable has no effect if
interactive is not set.

>     I was testing Bart's suggestion for my problematic "zpty" command
> and I found that, after succesfully testing in the command line, it
> didn't work in the script. I tried to change a couple of options that
> may be slightly related with the terminal but it was "INTERACTIVE"
> who made it work. Since I cannot "setopt interactive" within a
> script, the only way is to change the bangpath.

Why not simply:

        stty -onlcr

in your script?

If you're worried about resetting the terminal state on exit (which
you shouldn't in a zpty session), you always can:

        savedstty=''
        trap 'stty $savedstty' EXIT
        savedstty=$(stty -g)
        stty -onlcr

Phil.



Messages sorted by: Reverse Date, Date, Thread, Author