Хотя я не отвечаю на первоначальный вопрос о команде no-op, многие (если не большинство) проблем, когда можно подумать, что « в этой ветке я ничего не должен делать », можно обойти, просто перестроив логику так, чтобы эта ветка победила не происходит
Я пытаюсь дать общее правило, используя пример ОП
ничего не делать, если $ a больше «10», выведите «1», если $ a меньше «5», в противном случае выведите «2»
мы должны избегать ветвления, где $a
получается больше 10, так что $a < 10
в качестве общего условия можно применять любое другое, следующее условие.
В общих чертах, когда вы говорите , ничего не делать , когда X , то перефразировать как избежать ветви , где X . Обычно вы можете избежать этого, просто отрицая X и применяя его ко всем остальным условиям.
Таким образом, пример OP с примененным правилом может быть изменен следующим образом:
if [ "$a" -lt 10 ] && [ "$a" -le 5 ]
then
echo "1"
elif [ "$a" -lt 10 ]
then
echo "2"
fi
Просто вариация из вышеперечисленного, заключающая в себе все в $a < 10
состоянии:
if [ "$a" -lt 10 ]
then
if [ "$a" -le 5 ]
then
echo "1"
else
echo "2"
fi
fi
(Для этого конкретного примера реструктуризация @Flimzys, безусловно, лучше, но я хотел бы дать общее правило для всех людей, ищущих, как ничего не делать.)
true
. Он встроен в оболочку и ничего не делает.