Хорошо, так что это назначение, поэтому я не буду вставлять здесь точный скрипт, но я действительно отчаянный в этот момент, потому что я не могу понять что-то как основное, как если бы оно было. Поэтому я в основном проверяю, подходят ли два аргумента, которые написаны в командной строке (пользователь должен правильно ввести его), или он будет эхо-сообщение об ошибке. Однако, когда я добавляю команду с 100% правильными аргументами, я получаю сообщение эхо-сообщения об ошибке из первого условного ALWAYS (даже если я переключаю условные операторы). Кажется, что сценарий просто запускает первое эхо и останавливается, несмотря ни на что. Пожалуйста, помогите, и я понимаю, что это может быть сложно, так как мой код больше скелет.Bash Script с if, elif, else
if [ ... ]; then
echo "blah"
elif [ ... ]; then
echo "blah2"
else for file; do
#change file to the 1st argument
done
fi
Я, очевидно, нуждаюсь в последнем, чтобы случился, чтобы мой сценарий действительно выполнял намеченную цель. Однако моя проблема if-fy мешает. If и elif должны возвращать false, чтобы скрипт выполнялся для соответствующих аргументов. Проверка if и elif, чтобы проверить, правильно ли введен персонаж в командной строке.
Возможно, вам необходимо показать тесты, 'else', это, вероятно, означает, что вы перевернули свои тесты (вам нужно проверить', если arg1 недействителен, тогда echo blah blah 1 elif arg2 недействителен, тогда echo blah bletch 2 else ... fi'. –
Каков фактический код вы запускаете там, где вы показываете '...'? Это действительно самая важная деталь здесь. – chepner