Обновление
После нескольких размышлений нет смысла использовать [[ ]]
(или [ ]
в этом отношении).Нет даже причины использовать подстановку команд либо $()
if which "$1" > /dev/null 2>&1; then
echo "found"
else
echo "not found"
fi
Если вы используете bash
, тогда используйте конструкцию [[ ]]
.Одним из преимуществ (среди многих) является то, что у него нет этой проблемы
[[ -f $(which $1) ]] && echo found
Кроме того, `` устарела, используйте $()
вместо