Первая строка выполнит одну команду за другим, независимо от ли первая, за которой следуют или нет. Вторая строка является примером логики оболочки: это только выполнит вторую команду если первая, за которой следуют. Это вызвано тем, что &&
логично and
. Поэтому, если первая команда перестала работать, логическое состояние всей строки, как известно, является ложью и нет никакой потребности оценить вторую команду.
Я выгнал, попробовал это на использовании поля Fedora Linux mpg321
версия 0.2.11 и следующее работали:
% mpg321 /path/to/file1.mp3 /path/to/file2.mp3
% mpg321 *.mp3
% ls
track_01.mp3 track_02.mp3 track_03.mp3 track_04.mp3 track_05.mp3 track_06.mp3
track_07.mp3 track_08.mp3 track_09.mp3 track_10.mp3 track_11.mp3 track_12.mp3
track_13.mp3 track_14.mp3 track_16.mp3 track_18.mp3 track_19.mp3
Я подозревал бы, что или каталог, Вы выполняете в этом, имеет больше mp3 файлов, чем может, Ваша оболочка может обработать, когда '*.mp3' добираются, расширился до всех файлов, которые являются там, или что существует проблема с Вашей конкретной версией mpg321
.