2

I'm trying to put lampp into my Ubuntu Path but I'm seemingly doing something wrong because it doesn't work.

I put this into the ~/.bashrc file :

export PATH="/opt/lampp/lampp:$PATH"

and then I ran the following command in ~ : $ source .bashrc

Thanks for your help

EDIT

Here is the content of the file .bashrc :

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# 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, unless we know we "want" color)
case "$TERM" in
    xterm-color|*-256color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
    # We have color support; assume it's compliant with Ecma-48
    # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
    # a case would tend to support setf rather than setaf.)
    color_prompt=yes
    else
    color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Add an "alert" alias for long running commands.  Use like so:
#   sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
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

### Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"
export PATH="/opt/lampp/lampp:$PATH"
Fab
  • 668
  • 9
  • 24
  • Can you post the contents of your `~/.bashrc`? – Spencer Judd Jul 08 '16 at 13:51
  • I edited the article :) – Fab Jul 08 '16 at 14:20
  • Let's do a sanity check. Add `echo $PATH` to the end of your `~/.bashrc`, then run `source ~/.bashrc`. You should see a long line with your PATH. Do you? – Spencer Judd Jul 08 '16 at 14:23
  • yes, it returns me this : /opt/lampp/lampp:/usr/local/heroku/bin:/opt/lampp/lampp:/usr/local/heroku/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin – Fab Jul 08 '16 at 14:45
  • Alright, so `$PATH` is being set correctly. You can remove that last line from your `~/.bashrc`. Next, run this: `ls -l /opt/lampp/lampp | curl -F 'sprunge=<-' http://sprunge.us`. Can you share the link you get back in the terminal? – Spencer Judd Jul 08 '16 at 14:54
  • it returned this : http://sprunge.us/TSdj – Fab Jul 09 '16 at 09:22
  • Alrighty, once more: `ls -l /opt/lampp/xampp | curl -F 'sprunge=<-' http://sprunge.us` :) Sorry, I wasn't expecting a symbolic link. – Spencer Judd Jul 09 '16 at 14:07
  • No problem, thanks for helping ! :) so this is what has been returned : http://sprunge.us/hMSU – Fab Jul 11 '16 at 08:27

2 Answers2

4

Okay, so I think I know what's going on! Change your $PATH line in ~/.bashrc to the following:

export PATH="/opt/lampp:$PATH"

Then try source ~/.bashrc, or open a new terminal. You should now have the lampp and xampp commands available. Both should do the same thing.

The problem is that the $PATH variable points to directories that contain executable files, rather than pointing to executable files directly. It appears that /opt/lampp/lampp is a symbolic link that points to /opt/lampp/xampp, which is an executable.


UPDATE: When you use sudo, it's likely not honoring your $PATH variable for security reasons. You might try running sudo visudo, and editing the line that says Defaults secure_path="..." to include /opt/lampp. Then sudo lampp start should work!

Spencer Judd
  • 409
  • 3
  • 5
0

I also faced the same problem to fix this first goto your .bashrc file in the home directory of your ubuntu type the following command in the terminal :

export PATH="/opt/lampp/lampp:$PATH"

now type this in the terminal

vim ~/.bashrc

like this add the path at the end

like this add your export path command you entered first at the starting
Now you have to edit the visudo so that your path can be in the list of secured paths so that you can use sudo with the xampp or lampp command otherwise it won't work

sudo visudo

photo of visudo file

Now like in the photo above append ":/opt/lampp" at the end of the secure path
then press ctrl + X then enter
your work is done now now you can use xampp anywhere with sudo privelages
To list all the commands of the xampp you can write in the terminal

xampp

and it'll show this xampp commands