A NOTE has been added to this issue. ====================================================================== https://www.austingroupbugs.net/view.php?id=1915 ====================================================================== Reported By: steffen Assigned To: ====================================================================== Project: 1003.1(2016/18)/Issue7+TC2 Issue ID: 1915 Category: Shell and Utilities Type: Clarification Requested Severity: Editorial Priority: normal Status: New Name: steffen Organization: User Reference: Section: 2.5.2 Page Number: 2479 Line Number: 80382 Interp Status: --- Final Accepted Text: ====================================================================== Date Submitted: 2025-03-17 19:17 UTC Last Modified: 2025-03-18 11:29 UTC ====================================================================== Summary: clarification of 2.6.5 field splitting of 2.5.2 special parameter $* ======================================================================
---------------------------------------------------------------------- (0007123) lanodan (reporter) - 2025-03-18 11:29 https://www.austingroupbugs.net/view.php?id=1915#c7123 ---------------------------------------------------------------------- Is the test script output supposed to be consistent across conforming shells? Because here I got 5 different outputs. At least AT&T ksh gives the exact same output as busybox sh (ash derivative), dash, and yash. <pre> $ printf ',l\nq\n' | ed test.sh 178 a() {$ \techo \$#,1="\$1"/\$1,2="\$2"/\$2,3="\$3"/\$3,4="\$4"$ \techo \$#,'*'="\$*"/\$*,$ }$ set -- '' 'a' ''$ for f in ' ' '' : ': ' ' :'; do$ \tIFS=\$f ; echo "\$*"\$* \$*; a "\$*"\$* \$*;unset IFS$ done$ $ env -i POSIXLY_CORRECT=1 sh -c 'for i in sh posh ksh mksh lksh loksh dash bash yash "busybox sh"; do qfile -v `command -v ${i% *}` ; $i test.sh >|"test_${i}.txt" 2>&1; done' app-alternatives/sh-0: /bin/sh -> lksh app-shells/posh-0.14.1: /bin/posh app-shells/ksh-1.0.8: /bin/ksh app-shells/mksh-59c: /bin/mksh app-shells/mksh-59c: /bin/lksh app-shells/loksh-7.6: /bin/loksh app-shells/dash-0.5.12-r1: /bin/dash app-shells/bash-5.2_p37: /bin/bash app-shells/yash-2.57: /bin/yash sys-apps/busybox-1.36.1-r3: /bin/busybox $ sha1sum test.sh *.txt | sort 031cf59fcbcfc7eede60e35c9ede332bbb962f35 test_posh.txt 7edcc231165d9b3ca2f875501c02e4f8eff73e6b test_loksh.txt 88acd3756f017d1f74d5bb62cfa9a0f0e72a08ee test_bash.txt a947a1ebd8dc2fcfc1068359836fc6a224a13ccb test_busybox sh.txt a947a1ebd8dc2fcfc1068359836fc6a224a13ccb test_dash.txt a947a1ebd8dc2fcfc1068359836fc6a224a13ccb test_ksh.txt a947a1ebd8dc2fcfc1068359836fc6a224a13ccb test_yash.txt c7f2494ab0f12315513dfc2a70ab24d693dd6592 test_lksh.txt c7f2494ab0f12315513dfc2a70ab24d693dd6592 test_mksh.txt c7f2494ab0f12315513dfc2a70ab24d693dd6592 test_sh.txt ce30bb2a9eafa825dcd67be9a60e49529f091166 test.sh $ diff -u test_posh.txt test_loksh.txt --- test_posh.txt 2025-03-18 12:16:56.797930657 +0100 +++ test_loksh.txt 2025-03-18 12:16:56.822930552 +0100 @@ -1,9 +1,9 @@ a a a 3,1= a / a ,2=a/a,3=a/a,4= 3,*= a a a/ a a a, -a a a -2,1=a a /a a ,2= a / a ,3=/,4= -2,*=a a a /a a a , +a a a +3,1=a/a,2=a/a,3=a/a,4= +3,*=aaa/a a a, :a: a a 3,1=:a:/ a ,2=a/a,3=a/a,4= 3,*=:a::a:a/ a a a, $ diff -u test_posh.txt test_bash.txt --- test_posh.txt 2025-03-18 12:16:56.797930657 +0100 +++ test_bash.txt 2025-03-18 12:16:56.837930489 +0100 @@ -1,15 +1,15 @@ a a a 3,1= a / a ,2=a/a,3=a/a,4= 3,*= a a a/ a a a, -a a a -2,1=a a /a a ,2= a / a ,3=/,4= -2,*=a a a /a a a , -:a: a a -3,1=:a:/ a ,2=a/a,3=a/a,4= -3,*=:a::a:a/ a a a, -:a: a a -3,1=:a:/ a ,2=a/a,3=a/a,4= -3,*=:a::a:a/ a a a, +a a a +3,1=a/a,2=a/a,3=a/a,4= +3,*=aaa/a a a, +:a: a a +4,1=:a:/ a ,2=a/a,3=/,4=a +4,*=:a::a::a/ a a a, +:a: a a +4,1=:a:/ a ,2=a/a,3=/,4=a +4,*=:a::a::a/ a a a, a a a 3,1= a / a ,2=a/a,3=a/a,4= 3,*= a a a/ a a a, $ diff -u test_bash.txt test_dash.txt --- test_bash.txt 2025-03-18 12:16:56.837930489 +0100 +++ test_dash.txt 2025-03-18 12:16:56.830930519 +0100 @@ -4,12 +4,12 @@ a a a 3,1=a/a,2=a/a,3=a/a,4= 3,*=aaa/a a a, -:a: a a -4,1=:a:/ a ,2=a/a,3=/,4=a -4,*=:a::a::a/ a a a, -:a: a a -4,1=:a:/ a ,2=a/a,3=/,4=a -4,*=:a::a::a/ a a a, +:a: a a +3,1=:a:/ a ,2=a/a,3=a/a,4= +3,*=:a::a:a/ a a a, +:a: a a +3,1=:a:/ a ,2=a/a,3=a/a,4= +3,*=:a::a:a/ a a a, a a a 3,1= a / a ,2=a/a,3=a/a,4= 3,*= a a a/ a a a, $ diff -u test_dash.txt test_lksh.txt --- test_dash.txt 2025-03-18 12:16:56.830930519 +0100 +++ test_lksh.txt 2025-03-18 12:16:56.813930590 +0100 @@ -6,10 +6,10 @@ 3,*=aaa/a a a, :a: a a 3,1=:a:/ a ,2=a/a,3=a/a,4= -3,*=:a::a:a/ a a a, +3,*=:a::a:a/ a a a, :a: a a 3,1=:a:/ a ,2=a/a,3=a/a,4= -3,*=:a::a:a/ a a a, +3,*=:a::a:a/ a a a, a a a 3,1= a / a ,2=a/a,3=a/a,4= 3,*= a a a/ a a a, </pre> Issue History Date Modified Username Field Change ====================================================================== 2025-03-17 19:17 steffen New Issue 2025-03-18 10:31 geoffclare Note Added: 0007122 2025-03-18 11:29 lanodan Note Added: 0007123 ======================================================================
