Přidat do .bashrc
function ListAllCommands
{
echo -n $PATH | xargs -d : -I {} find {} -maxdepth 1 \
-executable -type f -printf '%P\n' | sort -u
}
Pokud chcete také aliasy, pak:
function ListAllCommands
{
COMMANDS=`echo -n $PATH | xargs -d : -I {} find {} -maxdepth 1 \
-executable -type f -printf '%P\n'`
ALIASES=`alias | cut -d '=' -f 1`
echo "$COMMANDS"$'\n'"$ALIASES" | sort -u
}
Můžete použít vestavěný bash(1) compgen
compgen -c
zobrazí seznam všech příkazů, které můžete spustit.compgen -a
zobrazí seznam všech aliasů, které byste mohli spustit.compgen -b
zobrazí seznam všech vestavěných modulů, které můžete spustit.compgen -k
zobrazí seznam všech klíčových slov, která můžete spustit.compgen -A function
zobrazí seznam všech funkcí, které můžete spustit.compgen -A function -abck
vypíše všechny výše uvedené najednou.
Podívejte se na manuálovou stránku pro další dokončení, která můžete vygenerovat.
Chcete-li přímo odpovědět na vaši otázku:
compgen -ac | grep searchstr
měli byste dělat, co chcete.
Existuje
type -a mycommand
příkaz, který vypíše všechny aliasy a příkazy v $PATH kde můj příkaz se používá. Lze použít ke kontrole, zda příkaz existuje v několika variantách. Kromě toho... Pravděpodobně existuje nějaký skript, který analyzuje $PATH a všechny aliasy, ale o žádném takovém skriptu nevím.
Jak odstranit duplicitní slova ze souboru prostého textu pomocí příkazu linux
Mohu nastavit Eclipse, aby zobrazoval změny kódu