standards/92640: A pristine /bin/sh does not set the PWD variable

Jens Schweikhardt schweikh at schweikhardt.net
Tue Jan 31 12:30:37 PST 2006


>Number:         92640
>Category:       standards
>Synopsis:       A pristine /bin/sh does not set the PWD variable
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-standards
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jan 31 20:30:04 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Jens Schweikhardt
>Release:        FreeBSD 7.0-CURRENT i386
>Organization:
Digital Details
>Environment:
System: FreeBSD hal9000.schweikhardt.net 7.0-CURRENT FreeBSD 7.0-CURRENT #0: Tue Dec 27 16:26:59 CET 2005 toor at hal9000.schweikhardt.net:/share/HEAD/obj/share/HEAD/src/sys/HAL9000 i386


>Description:
	SUSv3 states in  2.5.3 Shell Variables:

    [...]

    PWD

    Set by the shell to be an absolute pathname of the current working
    directory, containing no components of type symbolic link, no
    components that are dot, and no components that are dot-dot when the
    shell is initialized. If an application sets or unsets the value of
    PWD, the behaviors of the cd and pwd utilities are unspecified."


>How-To-Repeat:

$ env -i /bin/sh -c set
PS1='$ '
OPTIND=1
PS2='> '
PPID=1747
PATH=/usr/bin:/bin
IFS=' 
'
$

>Fix:

Implement setting PWD.


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-standards mailing list