"/snap/bin=" -- path configuration error

When I key in bash command: “$PATH” in terminal of Ubuntu 20

Show result as bellow:
bash: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin=/home/base/adks/flutter/bin: No such file or directory

instead of:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/base/adks/flutter/bin:

The “=” sign coursed the “No such file or directory” error.

Please help, Thank you.


My Path files:

base@VM:~$ cat /etc/profile.d/apps-bin-path.sh

shellcheck shell=sh

Expand $PATH to include the directory where snappy applications go.

snap_bin_path="/snap/bin"
if [ -n “${PATH##${snap_bin_path}}" ] && [ -n "${PATH##${snap_bin_path}:*}” ]; then
export PATH=$PATH:${snap_bin_path}
fi

Ensure base distro defaults xdg path are set if nothing filed up some

defaults yet.

if [ -z “$XDG_DATA_DIRS” ]; then
export XDG_DATA_DIRS="/usr/local/share:/usr/share"
fi

Desktop files (used by desktop environments within both X11 and Wayland) are

looked for in XDG_DATA_DIRS; make sure it includes the relevant directory for

snappy applications’ desktop files.

snap_xdg_path="/var/lib/snapd/desktop"
if [ -n “${XDG_DATA_DIRS##${snap_xdg_path}}" ] && [ -n "${XDG_DATA_DIRS##${snap_xdg_path}:*}” ]; then
export XDG_DATA_DIRS="${XDG_DATA_DIRS}:${snap_xdg_path}"
fi

base@VM:~$ $XDG_DATA_DIRS
bash: /usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop: No such file or directory
base@VM:~$ ls /usr/share/ubuntu
applications
base@VM:~$ ls /usr/local/share/
ca-certificates fonts man sgml xml
base@VM:~$ ls /var/lib/snapd/desktop
applications icons
base@VM:~$ cat /etc/bash.bashrc

System-wide .bashrc file for interactive bash(1) shells.

To enable the settings / commands in this file for login shells as well,

this file has to be sourced in /etc/profile.

If not running interactively, don’t do anything

[ -z “$PS1” ] && return

check the window size after each command and, if necessary,

update the values of LINES and COLUMNS.

shopt -s checkwinsize

set variable identifying the chroot you work in (used in the prompt below)

if [ -z “${debian_chroot:-}” ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi

set a fancy prompt (non-color, overwrite the one in /etc/profile)

but only if not SUDOing and have SUDO_PS1 set; then assume smart user.

if ! [ -n “${SUDO_USER}” -a -n “${SUDO_PS1}” ]; then
PS1=’${debian_chroot:+($debian_chroot)}\u@\h:\w$ ’
fi

Commented out, don’t overwrite xterm -T “title” -n “icontitle” by default.

If this is an xterm set the title to user@host:dir

#case “$TERM” in
#xterm*|rxvt*)

PROMPT_COMMAND=‘echo -ne “\033]0;${USER}@${HOSTNAME}: ${PWD}\007”’

;;

#*)

;;

#esac

enable bash completion in interactive shells

#if ! shopt -oq posix; then

if [ -f /usr/share/bash-completion/bash_completion ]; then

. /usr/share/bash-completion/bash_completion

elif [ -f /etc/bash_completion ]; then

. /etc/bash_completion

fi

#fi

sudo hint

if [ ! -e “$HOME/.sudo_as_admin_successful” ] && [ ! -e “$HOME/.hushlogin” ] ; then
case " $(groups) " in *\ admin\ |\ sudo\ *)
if [ -x /usr/bin/sudo ]; then
cat <<-EOF
To run a command as administrator (user “root”), use "sudo ".
See “man sudo_root” for details.

EOF
fi
esac

fi

if the command-not-found package is installed, use it

if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then
function command_not_found_handle {
# check because c-n-f could’ve been removed in the meantime
if [ -x /usr/lib/command-not-found ]; then
/usr/lib/command-not-found – “$1”
return $?
elif [ -x /usr/share/command-not-found/command-not-found ]; then
/usr/share/command-not-found/command-not-found – “$1”
return $?
else
printf “%s: command not found\n” “$1” >&2
return 127
fi
}
fi

this looks rather like whatever added the fluter stuff to your PATH is broken … not like some snapd problem … on a virgin 20.10 it looks like:

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

so whatever appended the flutter path seems to have added the equal sign …

Thank you for your reply. Ogra.
I manually install flutter, and edit ~/.bashrc file for the flutter path.
Everything OK.
But the error occur after those command:
“flutter precache” and “flutter create myFlutterApp”
How to solve and correct the broken PATH.
(I undo the bashrc file modification, but the PATH remain unchange.)

.bashrc is only read at start of the shell … i.e. at login time, try logging out and back in … if the flutter commands are at fault, you should ask in a flutter forum about this …

Yes, you are right. after reboot, the PATH return to the original format.
Thank you. Ogra.

1 Like