我的笔记本电脑以前使用的是 Ubuntu 16.04 LTS。我将其升级到 Ubuntu 18.04 LTS。升级后,每次启动时都会显示此错误消息:
加载 /home/[user]/.profile 时发现错误:
home/[user]/.bash_it/lib/helpers.bash:第 6 行:continue:仅在“for”、“while”或“until”循环中有意义
home/[user]/.bash_it/lib/helpers.bash:第 6 行:continue:仅在“for”、“while”或“until”循环中有意义
home/[user]/.bash_it/lib/helpers.bash:第 6 行:continue:仅在“for”、“while”或“until”循环中有意义
因此会话将无法正确配置。
当我单击“确定”时,该消息消失。当我打开终端时,出现以下内容:
continue:仅在 'for'、'while' 或 'until' 循环中有意义
continue:仅在 'for'、'while' 或 'until' 循环中有意义
continue:仅在 'for'、'while' 或 'until' 循环中有意义
我尝试编辑 helpers.bash 的第 6 行,将 continue 改为 return,但问题仍然存在。这是 helpers.bash 的代码:
# Helper function loading various enable-able files
function _load_bash_it_files() {
subdirectory="$1"
if [ ! -d "${BASH_IT}/${subdirectory}/enabled" ]
then
continue
fi
FILES="${BASH_IT}/${subdirectory}/enabled/*.bash"
for config_file in $FILES
do
if [ -e "${config_file}" ]; then
source $config_file
fi
done
}
# Function for reloading aliases
function reload_aliases() {
_load_bash_it_files "aliases"
}
# Function for reloading auto-completion
function reload_completion() {
_load_bash_it_files "completion"
}
# Function for reloading plugins
function reload_plugins() {
_load_bash_it_files "plugins"
}
bash-it ()
{
about 'bash-it help and maintenance'
param '1: verb [one of: help | show | enable | disable ]'
param '2: component type [one of: alias(es) | completion(s) | plugin(s) ]'
param '3: specific component [optional]'
example '$ bash-it show plugins'
example '$ bash-it help aliases'
example '$ bash-it enable plugin git'
example '$ bash-it disable alias hg'
typeset verb=${1:-}
shift
typeset component=${1:-}
shift
typeset func
case $verb in
show)
func=_bash-it-$component;;
enable)
func=_enable-$component;;
disable)
func=_disable-$component;;
help)
func=_help-$component;;
*)
reference bash-it
return;;
esac
# pluralize component if necessary
if ! _is_function $func; then
if _is_function ${func}s; then
func=${func}s
else
if _is_function ${func}es; then
func=${func}es
else
echo "oops! $component is not a valid option!"
reference bash-it
return
fi
fi
fi
$func $*
}
_is_function ()
{
_about 'sets $? to true if parameter is the name of a function'
_param '1: name of alleged function'
_group 'lib'
[ -n "$(LANG=C type -t $1 2>/dev/null | grep 'function')" ]
}
_bash-it-aliases ()
{
_about 'summarizes available bash_it aliases'
_group 'lib'
_bash-it-describe "aliases" "an" "alias" "Alias"
}
_bash-it-completions ()
{
_about 'summarizes available bash_it completions'
_group 'lib'
_bash-it-describe "completion" "a" "completion" "Completion"
}
_bash-it-plugins ()
{
_about 'summarizes available bash_it plugins'
_group 'lib'
_bash-it-describe "plugins" "a" "plugin" "Plugin"
}
_bash-it-describe ()
{
_about 'summarizes available bash_it components'
_param '1: subdirectory'
_param '2: preposition'
_param '3: file_type'
_param '4: column_header'
_example '$ _bash-it-describe "plugins" "a" "plugin" "Plugin"'
subdirectory="$1"
preposition="$2"
file_type="$3"
column_header="$4"
typeset f
typeset enabled
printf "%-20s%-10s%s\n" "$column_header" 'Enabled?' 'Description'
for f in $BASH_IT/$subdirectory/available/*.bash
do
if [ -e $BASH_IT/$subdirectory/enabled/$(basename $f) ]; then
enabled='x'
else
enabled=' '
fi
printf "%-20s%-10s%s\n" "$(basename $f | cut -d'.' -f1)" " [$enabled]" "$(cat $f | metafor about-$file_type)"
done
printf '\n%s\n' "to enable $preposition $file_type, do:"
printf '%s\n' "$ bash-it enable $file_type <$file_type name> -or- $ bash-it enable $file_type all"
printf '\n%s\n' "to disable $preposition $file_type, do:"
printf '%s\n' "$ bash-it disable $file_type <$file_type name> -or- $ bash-it disable $file_type all"
}
_disable-plugin ()
{
_about 'disables bash_it plugin'
_param '1: plugin name'
_example '$ disable-plugin rvm'
_group 'lib'
_disable-thing "plugins" "plugin" $1
}
_disable-alias ()
{
_about 'disables bash_it alias'
_param '1: alias name'
_example '$ disable-alias git'
_group 'lib'
_disable-thing "aliases" "alias" $1
}
_disable-completion ()
{
_about 'disables bash_it completion'
_param '1: completion name'
_example '$ disable-completion git'
_group 'lib'
_disable-thing "completion" "completion" $1
}
_disable-thing ()
{
_about 'disables a bash_it component'
_param '1: subdirectory'
_param '2: file_type'
_param '3: file_entity'
_example '$ _disable-thing "plugins" "plugin" "ssh"'
subdirectory="$1"
file_type="$2"
file_entity="$3"
if [ -z "$file_entity" ]; then
reference "disable-$file_type"
return
fi
if [ "$file_entity" = "all" ]; then
typeset f $file_type
for f in $BASH_IT/$subdirectory/available/*.bash
do
plugin=$(basename $f)
if [ -e $BASH_IT/$subdirectory/enabled/$plugin ]; then
rm $BASH_IT/$subdirectory/enabled/$(basename $plugin)
fi
done
else
typeset plugin=$(command ls $BASH_IT/$subdirectory/enabled/$file_entity.*bash 2>/dev/null | head -1)
if [ -z "$plugin" ]; then
printf '%s\n' "sorry, that does not appear to be an enabled $file_type."
return
fi
rm $BASH_IT/$subdirectory/enabled/$(basename $plugin)
fi
printf '%s\n' "$file_entity disabled."
}
_enable-plugin ()
{
_about 'enables bash_it plugin'
_param '1: plugin name'
_example '$ enable-plugin rvm'
_group 'lib'
_enable-thing "plugins" "plugin" $1
}
_enable-alias ()
{
_about 'enables bash_it alias'
_param '1: alias name'
_example '$ enable-alias git'
_group 'lib'
_enable-thing "aliases" "alias" $1
}
_enable-completion ()
{
_about 'enables bash_it completion'
_param '1: completion name'
_example '$ enable-completion git'
_group 'lib'
_enable-thing "completion" "completion" $1
}
_enable-thing ()
{
cite _about _param _example
_about 'enables a bash_it component'
_param '1: subdirectory'
_param '2: file_type'
_param '3: file_entity'
_example '$ _enable-thing "plugins" "plugin" "ssh"'
subdirectory="$1"
file_type="$2"
file_entity="$3"
if [ -z "$file_entity" ]; then
reference "enable-$file_type"
return
fi
if [ "$file_entity" = "all" ]; then
typeset f $file_type
for f in $BASH_IT/$subdirectory/available/*.bash
do
plugin=$(basename $f)
if [ ! -h $BASH_IT/$subdirectory/enabled/$plugin ]; then
ln -s ../available/$plugin $BASH_IT/$subdirectory/enabled/$plugin
fi
done
else
typeset plugin=$(command ls $BASH_IT/$subdirectory/available/$file_entity.*bash 2>/dev/null | head -1)
if [ -z "$plugin" ]; then
printf '%s\n' "sorry, that does not appear to be an available $file_type."
return
fi
plugin=$(basename $plugin)
if [ -e $BASH_IT/$subdirectory/enabled/$plugin ]; then
printf '%s\n' "$file_entity is already enabled."
return
fi
mkdir -p $BASH_IT/$subdirectory/enabled
ln -s ../available/$plugin $BASH_IT/$subdirectory/enabled/$plugin
fi
printf '%s\n' "$file_entity enabled."
}
_help-completions()
{
_about 'summarize all completions available in bash-it'
_group 'lib'
_bash-it-completions
}
_help-aliases()
{
_about 'shows help for all aliases, or a specific alias group'
_param '1: optional alias group'
_example '$ alias-help'
_example '$ alias-help git'
if [ -n "$1" ]; then
cat $BASH_IT/aliases/available/$1.aliases.bash | metafor alias | sed "s/$/'/"
else
typeset f
for f in $BASH_IT/aliases/enabled/*
do
typeset file=$(basename $f)
printf '\n\n%s:\n' "${file%%.*}"
# metafor() strips trailing quotes, restore them with sed..
cat $f | metafor alias | sed "s/$/'/"
done
fi
}
_help-plugins()
{
_about 'summarize all functions defined by enabled bash-it plugins'
_group 'lib'
# display a brief progress message...
printf '%s' 'please wait, building help...'
typeset grouplist=$(mktemp /tmp/grouplist.XXXX)
typeset func
for func in $(typeset_functions)
do
typeset group="$(typeset -f $func | metafor group)"
if [ -z "$group" ]; then
group='misc'
fi
typeset about="$(typeset -f $func | metafor about)"
letterpress "$about" $func >> $grouplist.$group
echo $grouplist.$group >> $grouplist
done
# clear progress message
printf '\r%s\n' ' '
typeset group
typeset gfile
for gfile in $(cat $grouplist | sort | uniq)
do
printf '%s\n' "${gfile##*.}:"
cat $gfile
printf '\n'
rm $gfile 2> /dev/null
done | less
rm $grouplist 2> /dev/null
}
all_groups ()
{
about 'displays all unique metadata groups'
group 'lib'
typeset func
typeset file=$(mktemp /tmp/composure.XXXX)
for func in $(typeset_functions)
do
typeset -f $func | metafor group >> $file
done
cat $file | sort | uniq
rm $file
}
您知道如何修复此问题吗?请帮忙,我简直就是个 Ubuntu 菜鸟。谢谢!