Рейтинг:1

мой .bashrc имеет опечатку, и я не знаю, как это исправить

флаг in

Я пытался создать псевдоним для команды, я добавил псевдоним в конец .bashrc файл, но когда я пытаюсь запустить источник .bashrc Я получил:

.bashrc (строка 6): 'case' встроен не внутри блока переключателей
случай $- в
^
из исходного файла .bashrc
источник: Ошибка при чтении файла «.bashrc».

Вот блок кода, начинающийся со строки №. 6:

случай $- в
    *и*) ;;
      *) возвращаться;;
эсак

Вот весь bash-файл:

# ~/.bashrc: выполняется bash(1) для оболочек без входа в систему.
# см. /usr/share/doc/bash/examples/startup-files (в пакете bash-doc)
# Например

# Если не работает в интерактивном режиме, ничего не делайте
случай $- в
    *и*) ;;
      *) возвращаться;;
эсак

# не помещайте в историю повторяющиеся строки или строки, начинающиеся с пробела.
# Смотрите bash(1) для дополнительных опций
HISTCONTROL=игнорировать оба

# добавить в файл истории, не перезаписывая его
shopt -s histappend

# для установки длины истории см. HISTSIZE и HISTFILESIZE в bash(1)
ГИСТРАЗМЕР=1000
HISTFILESIZE=2000

# проверяем размер окна после каждой команды и при необходимости
# обновить значения LINES и COLUMNS.
shopt -s checkwinsize

# Если установлено, шаблон "**", используемый в контексте расширения имени пути, будет
# соответствует всем файлам и нулю или более каталогам и подкаталогам.
#shop -s globstar

# сделать менее удобным для нетекстовых входных файлов, см. lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# установить переменную, идентифицирующую chroot, в котором вы работаете (используется в приглашении ниже)
если [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; тогда
    debian_chroot=$(cat /etc/debian_chroot)
фи

# установить красивую подсказку (не цветную, если только мы не знаем, что "хотим" цвет)
случай "$TERM" в
    xterm-color|*-256color) color_prompt=yes;;
эсак

# раскомментируйте цветную подсказку, если терминал имеет такую ​​возможность; повернулся
# выключено по умолчанию, чтобы не отвлекать пользователя: фокус в окне терминала
# должно быть в выводе команд, а не в подсказке
#force_color_prompt=да

если [-n "$force_color_prompt"]; тогда
    если [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; тогда
    # У нас есть поддержка цвета; предположим, что он соответствует Ecma-48
    # (ИСО/МЭК-6429). (Отсутствие такой поддержки бывает крайне редко, и такие
    # случай скорее будет поддерживать setf, чем setaf.)
    color_prompt = да
    еще
    color_prompt=
    фи
фи

если [ "$color_prompt" = да ]; тогда
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\ [\033[00m\]\$ '
еще
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
фи
отключить color_prompt force_color_prompt

# Если это xterm, установите заголовок на user@host:dir
случай "$TERM" в
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
эсак

# включить поддержку цвета ls, а также добавить удобные псевдонимы
если [-x /usr/bin/dircolors]; тогда
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    псевдоним ls='ls --color=auto'
    #псевдоним dir='dir --color=auto'
    #псевдоним vdir='vdir --color=auto'

    псевдоним grep='grep --color=auto'
    псевдоним fgrep='fgrep --color=auto'
    псевдоним egrep='egrep --color=auto'
фи

# цветные предупреждения и ошибки GCC
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# еще несколько псевдонимов ls
псевдоним ll='ls -alF'
псевдоним la='ls -A'
псевдоним l='ls -CF'

# Добавьте псевдоним "alert" для долго выполняющихся команд. Используйте так:
# спать 10; тревога
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && эхо-терминал || эхо-ошибка)" "$(история|хвост -n1|sed -e '\'s/ ^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

# Определения псевдонимов.
# Вы можете поместить все свои дополнения в отдельный файл, например
# ~/.bash_aliases вместо того, чтобы добавлять их сюда напрямую.
# См. /usr/share/doc/bash-doc/examples в пакете bash-doc.

если [-f ~/.bash_aliases]; тогда
    . ~/.bash_aliases
фи

# включить программируемые функции завершения (вам не нужно включать
# это, если он уже включен в /etc/bash.bashrc и /etc/profile
# исходники /etc/bash.bashrc).
если ! шопт -oq posix; тогда
  если [-f /usr/share/bash-completion/bash_completion]; тогда
    . /usr/доля/bash-completion/bash_completion
  Элиф [-f /etc/bash_completion]; тогда
    . /etc/bash_completion
  фи
фи

### Псевдонимы ###
alias aptup='sudo apt update && sudo apt upgrade'

Что может быть возможным решением для этого?

флаг hr
*Похоже*, что вы пытаетесь поместить свой файл .bashrc в оболочку `fish`, а не в оболочку `bash`
Hasan Ali avatar
флаг in
Ах, да, это оно! это глупая ошибка. если хотите, можете ответить на вопрос, и я отмечу его.
флаг hr
ОК спасибо - сделано
Рейтинг:4
флаг hr

Нет ничего плохого в вашем .bashrc файл - ошибка в том, что вы пытаетесь загрузить его в рыбы ракушка:

steeldriver@ноутбук:~$ эхо $0
-баш
steeldriver@ноутбук:~$ источник ~/.bashrc
steeldriver@ноутбук:~$ эхо $?
0

тогда как

steeldriver@ноутбук:~$ рыба
Добро пожаловать в fish, дружелюбную интерактивную оболочку
steeldriver@ноутбук ~> источник ~/.bashrc
~/.bashrc (строка 6): 'case' встроен не внутри блока переключателей
случай $- в
^
из исходного файла ~/.bashrc
        вызывается на стандартный ввод

источник: Ошибка при чтении файла «/home/steeldriver/.bashrc».
steeldriver@ноутбук ~> echo $status
1

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.