Hi,
Here’s an old bug from 2017, but it was brought to my attention in some
recent discussion about which "which" is which. There’s also a patch in
one of the follow-ups, but I’m afraid I don’t know enough about that
part of code to judge the consequences of it being applied:
https://bugs.debian.org/874264
-------- Forwarded Message --------
Subject: dash: 'command -v' mistakenly returns a shell script whose
executable is not set
Date: Mon, 04 Sep 2017 10:45:48 -0400
From: Norman Ramsey <nr@xxxxxxxxxxxx>
To: Debian Bug Tracking System <submit@xxxxxxxxxxxxxxx>
Package: dash
Version: 0.5.8-2.4
Severity: normal
Dear Maintainer,
I tracked a build bug in s-nail to a problem with dash. Symptom:
building s-nail tries to run /home/nr/bin/clang, a script whose
executable bit is not set. We tracked the problem to the result of
running `command -v clang` with /bin/sh:
nr@homedog ~/n/s-nail> /bin/sh -c 'command -v clang'
/home/nr/bin/clang
nr@homedog ~/n/s-nail> ls -l /home/nr/bin/clang
-rw-rw-r-- 1 nr nr 1009 Aug 29 2011 /home/nr/bin/clang
nr@homedog ~/n/s-nail> ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Jan 24 2017 /bin/sh -> dash
nr@homedog ~/n/s-nail> ksh -c 'command -v clang'
/usr/bin/clang
nr@homedog ~/n/s-nail> bash -c 'command -v clang'
/usr/bin/clang
nr@homedog ~/n/s-nail> sh -c 'command -v clang'
/home/nr/bin/clang
nr@homedog ~/n/s-nail> dash -c 'command -v clang'
/home/nr/bin/clang
nr@homedog ~/n/s-nail> fish -c 'command -v clang'
/usr/bin/clang
When I run `command -v clang` I expect it to answer /usr/bin/clang.
-- System Information:
Debian Release: 9.1
APT prefers stable
APT policy: (990, 'stable'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (x86_64)
Foreign Architectures: amd64
Kernel: Linux 4.9.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=UTF-8) (ignored: LC_ALL set to
en_US.utf8), LANGUAGE=C (charmap=UTF-8) (ignored: LC_ALL set to en_US.utf8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages dash depends on:
ii debianutils 4.8.1.1
ii dpkg 1.18.24
ii libc6 2.24-11+deb9u1
dash recommends no packages.
dash suggests no packages.
-- debconf information:
* dash/sh: true