Ubuntu 将 /opt/lampp/lampp 导出到 PATH

Posted

技术标签:

【中文标题】Ubuntu 将 /opt/lampp/lampp 导出到 PATH【英文标题】:Ubuntu export /opt/lampp/lampp into PATH 【发布时间】:2016-11-10 17:22:33 【问题描述】:

我正在尝试将 lampp 放入我的 Ubuntu 路径,但我似乎做错了什么,因为它不起作用。

我把它放到 ~/.bashrc 文件中:

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

然后我在 ~ 中运行以下命令: $源.bashrc

感谢您的帮助

编辑

这是 .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"

【问题讨论】:

你能把你~/.bashrc的内容贴出来吗? 我编辑了这篇文章 :) 让我们做一个健全性检查。将echo $PATH 添加到~/.bashrc 的末尾,然后运行source ~/.bashrc。你应该看到你的 PATH 有很长的一行。你呢? 是的,它返回给我这个:/opt/lampp/lampp:/usr/local/heroku/bin:/opt/lampp/lampp:/usr/local/heroku/bin:/usr/本地/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 好的,$PATH 设置正确。您可以从~/.bashrc 中删除最后一行。接下来,运行:ls -l /opt/lampp/lampp | curl -F 'sprunge=<-' http://sprunge.us。您可以分享您在终端中返回的链接吗? 【参考方案1】:

我也遇到了同样的问题,首先在你的 ubuntu 主目录中转到你的 .bashrc 文件,在终端中输入以下命令:

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

现在在终端输入这个

vim ~/.bashrc

像这样添加您在开始时首先输入的导出路径命令 现在您必须编辑 visudo,以便您的路径可以在安全路径列表中,以便您可以将 sudo 与 xampp 或 lampp 命令一起使用,否则它将无法工作

sudo visudo

现在就像上面的照片一样,在安全路径的末尾添加“:/opt/lampp” 然后按 ctrl + X 然后输入 你的工作现在完成了,你可以在任何地方使用 sudo privelages 使用 xampp 要列出 xampp 的所有命令,您可以在终端中编写

xampp

它会显示这个

【讨论】:

@Fab 试试这个肯定行得通 我已经在我的系统中完成了这个【参考方案2】:

好的,我想我知道发生了什么事!将~/.bashrc 中的$PATH 行更改为以下内容:

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

然后尝试source ~/.bashrc,或打开一个新终端。您现在应该可以使用lamppxampp 命令。两者都应该做同样的事情。

问题在于$PATH 变量指向包含可执行文件的目录,而不是直接指向可执行文件。看来/opt/lampp/lampp 是一个指向/opt/lampp/xampp 的符号链接,它是一个可执行文件。


更新:当您使用 sudo 时,出于安全原因,它可能不会尊重您的 $PATH 变量。您可以尝试运行sudo visudo,并编辑显示Defaults secure_path="..." 的行以包含/opt/lampp。那么sudo lampp start 应该可以工作了!

【讨论】:

sudo lampp start(我也试过 sudo xampp start 但结果相同) 没有一行写着“defaults secure_path”

以上是关于Ubuntu 将 /opt/lampp/lampp 导出到 PATH的主要内容,如果未能解决你的问题,请参考以下文章

启动lamp失败

centos6.5安装xampp报错

XAMPP,PHP:尝试打开 localhost/tests/test.php 时页面为空

如何在线将Ubuntu 18.04升级到Ubuntu 20.04

将Ubuntu 15.10升级到Ubuntu 16.04

Ubuntu的妥协将支持精选的32位应用