Я пытаюсь изучить удар. Я использую человечность.
Я хочу добавить функцию. Я не уверен погода, я должен создать a.profile
или .bash_profile
файл, таким образом, я создаю обоих в ~/
каталог.
Я добавляю что-то вроде этого в каждом:
myfunc()
{
echo "function ran"
}
Я выхожу из своего пользователя и вхожу в, я выполняю это в командной строке:
me@host:~ $ myfunc
который просто возвращается:
myfunc: команда, не найденная
Не уверенный, что я делаю неправильно.
Ваш ~/.profile или ~/.bash_profile получены процессом входа в систему. Оболочка, которую Вы выполняете в окне терминала, выполняется в другом процессе, который является потомком процесса входа в систему. Определенные настройки, установленные процессом входа в систему, экспортируются в дочерние процессы, но псевдонимы и функциональные определения не. Псевдонимы и функции должны быть определены вместо этого в емкостно-резистивном файле Вашей оболочки, ~/.bashrc в этом случае. Тот файл получен каждым интерактивным процессом удара.
Что касается того, необходимо ли поместить настройки переменной среды и другой код запуска в ~/.profile или ~/.bash_profile, удар человека говорит, что оболочки входа в систему ищут ~/.bash_profile, ~/.bash_login и ~/.profile, в том порядке, и читают первый найденный. Таким образом, если у Вас будут и ~/.bash_profile и ~/.profile, то только ~/.bash_profile будет считан, и ~/.profile будет проигнорирован. То, которое Вы используете, ваше дело, но если Вы планируете использовать оболочки кроме удара, можно хотеть поместить настройки в ~/.profile и удалить ~/.bash_profile.
На командной строке просто введите:
function myfunc()
ВОЙТИ
{
ВОЙТИ
echo "function ran"
ВОЙТИ
}
ВОЙТИ
Вызовите функцию путем ввода функции как так:
$ myfunc
Удалите функцию при помощи:
unset -f myfunc
Проверьте их для получения дополнительной информации:
Видеть, какие файлы выполняются, в который порядок, Вы могли бы хотеть поместить единственное эхо или команду printf в тех файлах. Затем Вы будете видеть, когда они будут выполняться.
# You could try this
echo "This will be printed"
printf "This will also be printed (%d)\n" 10
Видеть, как эхо и работы печати, необходимо использовать человека (1) команда и изучить страницу справочника для удара (1). Круглая скобка после команд говорит Вам, какой раздел в руководстве Вы находите, что информация 1 означает обычную команду. Необходимо попробовать эти команды:
man man
man -k manual
man bash
В странице руководства для удара ищите раздел "SHELL BUILTIN COMMANDS" (попытка / и запишите то, что Вы ищете или используете клавишу "Пробел"). Существует информация о командах, которые встроены в удар, как эхо и printf.