В ~/.profile есть строка, которая
PATH="$HOME/bin:$HOME/.local/bin:$PATH"i
Я не уверен в последнем i.
Должен ли я удалить его? Разве это не синтаксическая ошибка ??Да, это синтаксическая ошибка, фактический .profile должен выглядеть так, если вы не изменили ситуацию (это версия 17.10, см. примечания ниже):
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Это может выглядеть другой в более старых версиях Ubuntu, где проверка наличия каталога bin пользователя не была включена в .profile.
Итак, чтобы добавить, как вы просили в своем комментарии, просто поместите это в конец вашего файла профиля:
[ f2]Если вы когда-либо испортили свой профиль, есть копия, в которой вы можете получить новую в /etc/skel/.
Я думаю, что здесь неясно, что означает следующее выражение:
PATH="$HOME/bin:$HOME/.local/bin:$PATH"i
Первая часть PATH= означает, что мы назначаем новое значение переменной (environment) $PATH.
Вторая часть - это новое значение этой переменной. В текущем случае переменная $HOME будет расширена с ее текущим значением, и к этому значению будет добавлена строка /bin:. То же самое относится к следующей части строки $HOME/.local/bin:. Наконец, текущее (предыдущее) значение переменной $PATH будет расширено и добавлено. Двоеточие : играет роль разделителя в выражении PATH.
Цель состоит в том, чтобы в конечном итоге написать: PATH=<some additional paths>+<the the current value of $PATH>. Мы помещаем эти дополнительные пути перед строкой, потому что мы хотим, чтобы оболочка сначала искала исполняемые файлы в этих местах и только затем в системной области.
Символ i не нужен. Он будет добавлен к новому значению $PATH и сделает беспорядок, как объясняет @Zanna в своем ответе.
Да, это синтаксическая ошибка, фактический .profile должен выглядеть так, если вы не изменили ситуацию (это версия 17.10, см. примечания ниже):
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Это может выглядеть другой в более старых версиях Ubuntu, где проверка наличия каталога bin пользователя не была включена в .profile.
Итак, чтобы добавить, как вы просили в своем комментарии, просто поместите это в конец вашего файла профиля:
# Manual addition for swift development snapshot
export PATH="$PATH:/home/jeremy/swift-4.0-DEVELOPMENT-SNAPSHOT-2017-06-29-a-ubuntu16.04/usr/bin"
Если вы когда-либо испортили свой профиль, есть копия, в которой вы можете получить новую в /etc/skel/.
Я думаю, что здесь неясно, что означает следующее выражение:
PATH="$HOME/bin:$HOME/.local/bin:$PATH"i
Первая часть PATH= означает, что мы назначаем новое значение переменной (environment) $PATH.
Вторая часть - это новое значение этой переменной. В текущем случае переменная $HOME будет расширена с ее текущим значением, и к этому значению будет добавлена строка /bin:. То же самое относится к следующей части строки $HOME/.local/bin:. Наконец, текущее (предыдущее) значение переменной $PATH будет расширено и добавлено. Двоеточие : играет роль разделителя в выражении PATH.
Цель состоит в том, чтобы в конечном итоге написать: PATH=<some additional paths>+<the the current value of $PATH>. Мы помещаем эти дополнительные пути перед строкой, потому что мы хотим, чтобы оболочка сначала искала исполняемые файлы в этих местах и только затем в системной области.
Символ i не нужен. Он будет добавлен к новому значению $PATH и сделает беспорядок, как объясняет @Zanna в своем ответе.
Да, это синтаксическая ошибка, фактический .profile должен выглядеть так, если вы не изменили ситуацию (это версия 17.10, см. примечания ниже):
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Это может выглядеть другой в более старых версиях Ubuntu, где проверка наличия каталога bin пользователя не была включена в .profile.
Итак, чтобы добавить, как вы просили в своем комментарии, просто поместите это в конец вашего файла профиля:
# Manual addition for swift development snapshot
export PATH="$PATH:/home/jeremy/swift-4.0-DEVELOPMENT-SNAPSHOT-2017-06-29-a-ubuntu16.04/usr/bin"
Если вы когда-либо испортили свой профиль, есть копия, в которой вы можете получить новую в /etc/skel/.
Я думаю, что здесь неясно, что означает следующее выражение:
PATH="$HOME/bin:$HOME/.local/bin:$PATH"i
Первая часть PATH= означает, что мы назначаем новое значение переменной (environment) $PATH.
Вторая часть - это новое значение этой переменной. В текущем случае переменная $HOME будет расширена с ее текущим значением, и к этому значению будет добавлена строка /bin:. То же самое относится к следующей части строки $HOME/.local/bin:. Наконец, текущее (предыдущее) значение переменной $PATH будет расширено и добавлено. Двоеточие : играет роль разделителя в выражении PATH.
Цель состоит в том, чтобы в конечном итоге написать: PATH=<some additional paths>+<the the current value of $PATH>. Мы помещаем эти дополнительные пути перед строкой, потому что мы хотим, чтобы оболочка сначала искала исполняемые файлы в этих местах и только затем в системной области.
Символ i не нужен. Он будет добавлен к новому значению $PATH и сделает беспорядок, как объясняет @Zanna в своем ответе.