su on 10.2: TERM: Undefined variable

Miroslav Lachman 000.fbsd at quip.cz
Sun Nov 22 13:04:36 UTC 2015


Miroslav Lachman wrote on 11/22/2015 12:03:
> Michael B. Eichorn wrote on 11/21/2015 21:42:
>> On Sat, 2015-11-21 at 13:31 +0100, Miroslav Lachman wrote:
>>> I noticed some weird behavior of "su" command in shell scripts
>>> running
>>> from cron after upgrade from FreeBSD 8.4 to 10.2.
>>>
>>> If I have this in script
>>>
>>> su -m www -c 'ls -l'
>>>
>>> then I get "TERM: Undefined variable" on the stderr if this script is
>>> run from cron.
>>> It works fine on FreeBSD 8.4
>>>
>>> Is it intentional behavior?
>>>
>>> Miroslav Lachman
>>
>> I cannot reproduce your problem. I used the following script:
>>
>> #!/bin/sh
>>
>> echo "BEGIN TEST"
>> echo $TERM
>>
>> su -m www -c 'ls -l'
>>
>> echo $TERM
>> echo "END TEST"
>>
>> crontab is:
>> *    *    *    *    *    /root/test.sh
>>
>> and the result is:
>>
>> BEGIN TEST
>>
>> total 520765
>> -rw-r--r--   1 root  wheel  724002816 Aug 12 11:45 FreeBSD-10.2-
>> RELEASE-amd64-disc1.iso
>> -rwxr-xr-x   1 root  wheel         90 Nov 21 15:33 test.sh
>>
>> END TEST
>>
>> # freebsd-version
>> 10.2-RELEASE-p7
>>
>
> It's a strange. I tried it on another machine which was installed as
> 10.1 and upgraded to 10.2-p5 - and I got Undefined variable again:
>
> BEGIN TEST
>
> TERM: Undefined variable.
> total 8984
> drwxr-xr-x  2 root  wheel     1536 Aug 12 13:48 bin
> -rw-------  1 root  wheel  9134080 Nov 22 00:06 dns-terror.core
> -rw-r--r--  1 root  wheel      836 Nov  5 10:39 extensions.ini
> drwxr-xr-x  3 root  wheel      512 Jul 29 17:49 settings
> drwxr-xr-x  8 root  wheel      512 Aug  9 04:59 settings_atago
> drwxr-xr-x  2 root  wheel      512 Aug  9 03:12 skel_devel
> -rwxr--r--  1 root  wheel       90 Nov 22 11:52 term_test.sh
>
> END TEST
>
> Miroslav Lachman

The only workaround I found is adding
export TERM=""
at the top of the script.



More information about the freebsd-stable mailing list