This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: strange shell output using tcsh under Cygwin
- From: Will Parsons <wbp@nodomain.invalid>
- To: cygwin at cygwin dot com
- Date: Mon, 6 Nov 2017 19:46:29 +0000 (UTC)
- Subject: Re: strange shell output using tcsh under Cygwin
- Authentication-results: sourceware.org; auth=none
- References: <2fe1deabca1d4a2b90838b46437e34f6@DE013666.schaeffler.com>
- Reply-to: wbparsons at cshore dot com
Lemke, Michael ST/HZA-ZIC2 wrote:
> On Mon, 6 Nov 2017 00:15:25 +0000 (UTC)
> Will Parsons wrote:
>
>>Under Unix-type platforms, checking on what the PATH variable is set to is
>>pretty easy - I typically use "env" and the displayed value of PATH is easily
>>parsed by eye. Under Cygwin/Windows, one can do the same, but the value of
>>PATH is more likely to be considerably more complicated and harder for a
>>human to parse. For example, this is what I see on my local machine under
>>Cygwin:
>>
>> PATH=/usr/local/bin:/usr/bin:/c/Windows/system32:/c/Windows:/c/Windows/system32/wbem:/c/ProgramData/Oracle/Java/javapath:/c/Program Files/Common Files/Microsoft Shared/Windows Live:/c/Program Files (x86)/Common Files/Microsoft Shared/Windows Live:/c/Program Files/Dell/DW WLAN Card:/c/Program Files (x86)/Intel/iCLS Client:/c/Program Files/Intel/iCLS Client:/c/Windows/System32/WindowsPowerShell/v1.0:/c/Program Files/WIDCOMM/Bluetooth Software:/c/Program Files/WIDCOMM/Bluetooth Software/syswow64:/c/Program Files (x86)/Windows Live/Shared:/c/Program Files (x86)/Bazaar:/c/Program Files (x86)/QuickTime/QTSystem:/c/cygwin/home/william/bin:/c/ezwinports/bin:/c/Program Files (x86)/PuTTY:/usr/lib/lapack:/usr/sbin:/c/msys/1.0/local/bin
>>
>>I thought it would be nice to write a simple script to make this more
>>comprehensible by breaking the path into separate lines, and so wrote the
>>following trivial script:
>>
>> #!/bin/sh
>> echo $PATH | tr ':' '\n'
>>
>>Oddly though, it does not give the expected results under Cygwin.
>
> As you wrote you are using tcsh try this:
>
> #!/bin/tcsh
> foreach i ( `seq 1 $#path` )
> echo $path[$i]
> end
>
> Or this slightly faster one:
>
> #!/bin/tcsh
> @ i = 1
> while ( $i < $#path )
> echo $path[$i]
> @ i++
> end
>
> Lookup arrays in tcsh.
Thanks for the suggestion, but oddly enough, both the two versions of a tcsh
script you give yield the same result.
As an experiment, I modified the latter script to prepend an 'x' to the path
components:
#!/bin/tcsh
@ i = 1
while ( $i < $#path )
echo "x$path[$i]"
@ i++
end
and got the following results:
x/usr/local/bin
x/usr/bin
x/bin
x/usr/sbin
x/usr/local/bin
x/usr/bin
x/bin
x/usr/sbin
x/c/Windows/system32
x/c/Windows
x/c/Windows/system32/wbem
x/c/ProgramData/Oracle/Java/javapath
x/c/Program
xFiles/Common
xFiles/Microsoft
xShared/Windows
xLive
x/c/Program
xFiles
x(x86)/Common
xFiles/Microsoft
xShared/Windows
xLive
x/c/Program
xFiles/Dell/DW
xWLAN
xCard
x/c/Program
xFiles
x(x86)/Intel/iCLS
xClient
x/c/Program
xFiles/Intel/iCLS
xClient
x/c/Windows/System32/WindowsPowerShell/v1.0
x/c/Program
xFiles/WIDCOMM/Bluetooth
xSoftware
x/c/Program
xFiles/WIDCOMM/Bluetooth
xSoftware/syswow64
x/c/Program
xFiles
x(x86)/Windows
xLive/Shared
x/c/Program
xFiles
x(x86)/Bazaar
x/c/Program
xFiles
x(x86)/QuickTime/QTSystem
x/c/cygwin/home/william/bin
x/c/ezwinports/bin
x/c/Program
xFiles
x(x86)/PuTTY
But regardless of solving the original problem, I'd still like to know why
the original script doesn't work under tcsh only.
--
Will
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple