07:03
@terdon You are not missing anything. for ..; do ...; done < $(command)` would only work if the command generated a word that is a filename.
4 hours later…
10:44
@terdon I think a separate list of shells may be better, either in
checkshell
itself or its own file. /etc/shells
can have conceptual non-shells (/usr/bin/screen
and /usr/bin/tmux
), the same shell with the same behavior (/bin/zsh
vs. /usr/bin/zsh), the same shell with different names/behavior that you may prefer not to test with (
/bin/bash` vs. /bin/rbash
), and may not have shells that are good to test with like busybox ash
and any installed in your home directory for testing.
If
/etc/shells
is to be used, how do you feel about the idea of excluding shells that aren't named like shells (no "sh" in the name--this takes care of stuff like screen
) and whose executable is binary-identical to some higher-listed shell? Maybe something like: tryshells() { local shell grep -E '^/[^ ]*[^ /]+sh[^ /]*$' /etc/shells | xargs sha256sum 2>/dev/null | awk 'BEGIN { print "/bin/sh" } !history[$1]++ { print $2 }' | while IFS= read -r shell do printf '%-35s ' "$(printf '\e[01;32m%s\e[0m:' "$shell")" "$shell" -c "$@" done }
7 hours later…
19:53
Hi @Caleb. I noticed that you are working on SILE. How are things going with that, and how are future plans?
« first day (3221 days earlier) ← previous day next day → last day (2027 days later) »