Monday, February 5, 2024

[SOLVED] How to check if currently running shell is BusyBox

Issue

I tried different variants

echo $0
echo $shell
echo $SHELL
ps -p $$

but none of them can give a distinctive output. I can do something like this but it's ugly and hackish:

if ls --help 2>&1 | grep BusyBox; then
    echo "it is BusyBox"
else
    echo "it is NOT BusyBox"
fi

Solution

Another way requiring Linux and readlink:

#!/bin/ash
exe=`exec 2>/dev/null; readlink "/proc/$$/exe"`
case "$exe" in
*/busybox)
    echo "It's a busybox shell."
    ;;
esac


Answered By - konsolebox
Answer Checked By - Senaida (WPSolving Volunteer)