Как заставить считыватель отпечатков пальцев работать в Fedora 27

Вы не можете использовать псевдоним для добавления материала после аргументов, вам нужна функция. Используйте псевдоним только для того, чтобы дать команде альтернативное имя ( псевдоним myalias = mycommand ) или предоставить начальные аргументы ( псевдоним myalias = 'foo --option1 --option2' ).

В bash можно использовать любую из function myfunction {…} или myfunction () {…} или function myfunction () {…} , определить функцию. Форма myfunction ()… имеет то преимущество, что она переносима во все оболочки sh. Формы с ключевым словом function имеют то преимущество, что работают, даже если myfunction является псевдонимом (вы можете использовать \ myfunction ()… , чтобы стандартная форма работала в этом случае). За исключением псевдонима, эти синтаксисы в bash точно эквивалентны.

То, что следует за именем функции или () , должно быть правильно сформированной сложной командой.Судя по вашему ответу (код в вашем вопросе не вызывает сообщения об ошибке, очевидно, вы не опубликовали тестируемую версию), ваша ошибка заключалась в том, что написанная вами сложная команда неверна. Фигурные скобки { и } распознаются как синтаксис начального и конечного списка только тогда, когда они являются первым элементом команды, поэтому вам нужен разрыв строки или точка с запятой перед закрывающая скобка.

Кроме того, вместо того, чтобы передавать два аргумента в diff и игнорировать остальные, вы должны передать их все. Для этого "$ @" .

function dif () { diff "$1" "$2" | less; }

Кроме того, настройки для интерактивных сеансов bash должны идти в .bashrc , а не в .bash_profile . .bash_profile читается только оболочками входа в систему, он не читается, когда вы открываете новый экземпляр bash, например в терминале. Из-за дефекта конструкции в bash .bashrc не читается оболочками входа, даже если они интерактивны, поэтому вам следует поместить эту строку в свой .bash_profile :

if [[ $- == *i* ]]; then . ~/.bashrc; fi

и поместите интерактивные настройки, такие как псевдонимы, функции вроде dif , привязки клавиш, подсказки и т. д. в ~ / .bashrc .

3
18.11.2017, 09:37
0 ответов

Теги

Похожие вопросы