2024-07-01 22:11:33 -07:00
|
|
|
#!/usr/bin/env sh
|
2024-07-22 05:28:58 -07:00
|
|
|
# compat: +ash +bash +dash +zsh
|
2024-07-01 22:11:33 -07:00
|
|
|
|
2024-07-21 22:32:56 -07:00
|
|
|
clash() { ### @- run a command through 12 different shells.
|
2024-07-01 22:11:33 -07:00
|
|
|
### only returns false when no arguments are given.
|
|
|
|
[ $# != 0 ] || return
|
2024-07-21 22:32:56 -07:00
|
|
|
for sh in ash bash dash hush ksh loksh mksh oksh osh posh yash zsh; do
|
|
|
|
printf >&2 '\033[7m %s \033[m\n' "trying $sh"
|
2024-07-01 22:11:33 -07:00
|
|
|
"$sh" "$@"
|
2024-07-21 22:32:56 -07:00
|
|
|
printf >&2 '\033[100m $?=%s \033[m\n' $?
|
2024-07-01 22:11:33 -07:00
|
|
|
done
|
|
|
|
true
|
|
|
|
}
|
|
|
|
|
|
|
|
[ -n "${preload+-}" ] || clash "$@"
|