когда я создаю этот псевдоним из командной строки, все работает нормально, псевдоним ejecta = 'для I в 1 2 3; do /usr /sbin /diskutil unmountDisk disk $ I; готово '

Когда такой же псевдоним создается в .bash_profile. ОС сбрасывает "$ I"

Это такой новый вопрос, но мне стыдно сказать, что я не могу найти решение. Нужно ли создавать скрипт и ссылаться на псевдоним?

2 ответа2

0

То, что вы пытаетесь, должно работать. $I , вероятно, оценивается, когда определяется ваш псевдоним. Что, вероятно, означает, что вы где-то пропускаете некоторые цитаты.

Однако без включения соответствующей части вашего .bash_profile трудно сказать.

0

В вашем вопросе вы окружаете псевдоним одинарными кавычками, что является правильным способом сделать это, чтобы задержать оценку переменной. Я предполагаю, что вы используете двойные кавычки в вашем .bash_profile который позволяет переменной быть оцененной немедленно. Поскольку вероятно, что переменная не установлена в этой точке, она оценивается как пустая строка.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .