Если запустить:
true \ false; echo $?
Я получаю код выхода 0. Кто-нибудь знает, почему это так?
решение1
true \ false
эквивалентно
true ' false'
Это заставляет оболочку запускаться true
с false
(включая начальный пробел) в качестве параметра. Реализация, true
которую вы используете, игнорирует этот параметр и завершается с нулевым возвращаемым значением.
решение2
Вы просто запускаете команду true
с некоторыми аргументами. Поскольку эти аргументы не являются опциями, неважно, что они собой представляют.