出于安全方面的考虑,使用sudo执行命令将在一个最小化的环境中执行,环境变量都重置成默认状态. 所以PATH这个变量不包括用户自定义设置的内容,如找不到/usr/local/bin/下面的命令在sudo用户的主目录里的.bashrc中添加如下内容即可解决 $ vim ~/.bashrc #在最下面添加如下一行 alias sudo="sudo env PATH=$PATH" source ~/.bashrc 之后sudo就有可以找到/usr/local/bin下面的命令了…
今天我在Mac环境下安装了Homebrew和node.js后,输入node -v.brew.npm都提示: command not found,然后我查看了下Homebrew的安装日志,发现日志里有个警告(warning:/usr/local/bin is not in your PATH), 由此看来是因为path出了问题. 解决办法: 1.修改配置文件/etc/profile为: 2.执行source /etc/profile,成功返回命令行 3.再次输入brew,即可看到brew的相关命令…
出于安全方面的考虑,使用sudo执行命令将在一个最小化的环境中执行,环境变量都重置成默认状态.所以PATH这个变量不包括用户自定义设置的内容 在sudo用户的主目录里的.bashrc中添加如下内容即可解决 $ vim ~/.bashrc alias sudo="sudo env PATH=$PATH" 有这样一个shell脚本,其内容如下,没有给其x权限 vim test.sh #!/bin/bash echo "${PATH}" # 执行该脚本,可以看到echo输…
sudo执行脚本找不到变量 问题 当普通用户下,设置并export一个变量,然后利用sudo执行echo命令,能得到变量的值,但是如果把echo命令写入脚本,然后再sudo执行脚本,就找不到变量,未能获取到值,如题情况如下: $ cat tesh.sh echo $var $ var=aaa $ export var # export 变量 $ sudo echo $var # sudo执行echo命令,返回变量值 aaa $ sudo bash test.sh # sudo执行脚本,不能获取变…
简介 变量 普通用户下,设置并export一个变量,然后利用sudo执行echo命令,能得到变量的值,但是如果把echo命令写入脚本,然后再sudo执行脚本,就找不到变量,未能获取到值,如题情况如下: $ cat tesh.sh echo $var $ var=aaa $ export var # export 变量 $ sudo echo $var # sudo执行echo命令,返回变量值 aaa $ sudo bash test.sh # sudo执行脚本,不能获取变量值 $ bash te…
参考这里:https://www.cnblogs.com/zhongshiqiang/p/10839666.html 使用sudo -E 保留当前用户环境,这时就不会存在找不到环境变量的问题了.…
这是因为在Linux上,bash会有四种模式,根据不同的case,Linux会加载不同模式的bash.一般如果你自己直接登录主机,能看到环境变量,但是使用ssh 远程登录执行脚本就找不到环境变量,那么在你的脚本中修改脚本解释器为如下形式,就能解决你的问题: #!/bin/bash --login 如果想了解详细的bash的四种模式以及各种模式的特点,请参考下面这篇文章,分析的非常详细: SSH连接远程主机执行脚本的环境变量问题…
10.11 cocoapods安装命令: sudo gem install -n /usr/local/bin cocoapods…
参考:sudo: Cannot execute /usr/local/bin/zsh: No such file or directory 之前在美化Ubuntu的时候,下了个zsh,但是忘记改配置文件中的路径了,于是在su root的时候出现该情况. 解决方法: sudo vim /etc/passwd 将 root 的路径修改成 zsh 的路径即可. 2016/9/18…
问题: 当普通用户下,设置并export一个变量,然后利用sudo执行echo命令,能得到变量的值,但是如果把echo命令写入脚本, 然后再sudo执行脚本,就找不到变量,未能获取到值. 原因 sudo运行时,会默认重置环境变量为安全的环境变量,也即,但前设置的变量都会失效,只有少数配置文件中指定的环境变量能保存下来. sudo的配置文件是 /etc/sudoers 需要root权限才能读取: 在/etc/sudoers中修改:Defaults    env_reset为:Defaults   …
文件末尾加入下面 JAVA_HOME 是jdk主目录 export JAVA_HOME=/usr/jdkexport JRE_HOME=${JAVA_HOME}/jre  export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  export PATH=${JAVA_HOME}/bin:$PATH 保存 source /etc/profile 尝试一下 java -version 就可以查看java版本 说明配置成功 如果你尝试sudo java…
通过SSH执行远程主机的命令或脚本时,经常会出现找不到自定义环境变量的问题.但是,如果通过SSH登录远程主机,然后再执行相同的命令或脚本,那么此时执行又是成功的.两种相似的方法,得到的结果却截然不同,看起来很诡异的现象,根本原因在于这两种方式使用的bash模式不同! 1. 通过SSH登录后再执行命令和脚本 这种方式会使用Bash的interactive + login shell模式,这里面有两个概念需要解释:interactive和login. login故名思义,即登陆,login shel…
安装node.js和bower之后,运行bower出现/usr/bin/env: 'node': No such file or directory错误 这个错误是由于安装完node.js环境变量并没有设置好,需要手动链接,才可以正常使用. #解决方法 执行一下命令sudo ln -s /usr/bin/nodejs /usr/bin/node…
D:\xampp\apache\bin\httpd.exe" -k runservice Apache 优雅重启 :httpd -k graceful Xampp开机自启动  参考文献:http://jingyan.baidu.com/article/8065f87fefe53d2331249837.html 控制面板-->管理工具-->组件服务-->服务(本地) Windows常用命令 Path C:\ProgramData\Oracle\Java\javapath;%Sys…
打开 gedit /root/.bashrc   ,在文件的末尾添加: source /etc/profile 然后执行更新:source /root/.bashrc…
#在系统中输入命令,报如下错误: [root@a1 work]# ll-bash: ls: command not found #昨时解决办法:export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin #永久解决办法:echo "export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/roobo/s…
Ubuntu Linux 环境变量 同Windows一样,Ubuntu Linux系统包含两类环境变量:系统环境变量和用户环境变量.系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效. 用户环境变量通常被存储在下面的文件中: ~/.profile ~/.bash_profile 或者 ~./bash_login ~/.bashrc 上述文件在Ubuntu 10.0以前版本不推荐使用. 系统环境变量一般保存在下面的文件中: /etc/environment /etc/profile…
转自:http://blog.csdn.net/ithomer/article/details/7307449 同Windows一样,Ubuntu Linux系统包含两类环境变量:系统环境变量和用户环境变量.系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效. 用户环境变量通常被存储在下面的文件中: ~/.profile ~/.bash_profile 或者 ~./bash_login ~/.bashrc 上述文件在Ubuntu 10.0以前版本不推荐使用. 系统环境变量一般保存…
这是第一次在博客园中写自己的随笔,也是第一次使用Markdown的编辑环境,值得纪念一下!希望在以后学习linux的道路上能多多记录自己的学习心得和遇到问题的解决方法,朝着运维的方向迈出坚实的脚步. 问题描述 最近在编译一个开源软件时,在好不容易配置好各种编译环境之后,由于各种权限问题还是无法正常进行编译,所以索性切换到root用户下进行编译,这时自然不存在所谓的无权限问题了.但是有时候并不想在root用户和普通用户来回切换,说白了就是懒得输入root用户的密码,太长了.于是就想到了sudo命令…
mac 一般使用bash作为默认shell Mac系统的环境变量,加载顺序为:/etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc当然/etc/profile和/etc/paths是系统级别的,系统启动就会加载,后面几个是当前用户级的环境变量.后面3个按照从前往后的顺序读取,如果~/.bash_profile文件存在,则后面的几个文件就会被忽略不读了,如果~/.bash_profile文件不存在,才会…
一. 环境变量相关的几个配置文件(针对bash): 1.  /etc/profile 系统环境变量配置文件:针对整个系统的所有用户生效,系统启动后用户第一次登陆时,此文件被执行,并从/etc/profile.d目录中的shell文件中读取软件的环境变量配置. 2.  /etc/bashrc bash全局环境变量配置文件,针对所有用户生效,只要运行bash,此文件的设置即生效. 3.  ~/.bash_profile bash用户环境变量配置文件:针对当前登录用户有效,用户登录时执行且只执行一次.…
提问: 当我试着运行一个程序时,它提示“command not found”. 但这个程序就在/usr/local/bin下.我该如何添加/usr/local/bin到我的PATH变量下,这样我就可以不用指定路径来运行这个命令了. 在Linux中,PATH环境变量保存了一系列的目录用于用户在输入的时候搜索命令.PATH变量的值由一系列的由分号分隔的绝对路径组成.每个用户都有特定的PATH环境变量(由系统级的PATH变量初始化). 要检查用户的环境变量,用户模式下运行下面的命令: $ echo $…
一种用于当前终端,一种用于当前用户,一种用于所有用户: 用于当前终端: 在当前终端中输入:export PATH=$PATH:<你的要加入的路径> 不过上面的方法只适用于当前终端,一旦当前终端关闭或在另一个终端中,则无效. export NDK_ROOT=/home/gordon/soft/Android-ndk-r8e #只能在当前终端使用. 用于当前用户: 在用户主目录下有一个 .bashrc 隐藏文件,可以在此文件中加入 PATH 的设置如下: $ gedit ~/.bashrc 加入:…
远程登录时,不是ssh登陆:  xrdp 可以修改并添加 /etc/xrdp/startwm.sh 代码: #!/bin/sh if [ -r /etc/default/locale ]; then  . /etc/default/locale  export LANG LANGUAGEfi .  /etc/profile . /etc/X11/Xsession 转自http://hi.baidu.com/sujinsujin/item/f3fd3bed56a408ddeb34c9eb /etc…
1. 安装JDK 1.1 源码包下载 首先到官网下载jdk,http://www.oracle.com/technetwork/java/javase/downloads/index.html,我下载jdk-8u151-linux-x64.tar.gz,下载到主目录, 即home目录下 1.2 解压缩/安装 通过终端在/usr/local目录下新建java文件夹,命令行: sudo mkdir /usr/local/java 然后将下载到压缩包拷贝到java文件夹中,命令行:进入jdk源码包所在…
liunx桌面版本系统下载地址:http://www.ubuntukylin.com/downloads/ 1.源码包准备: 首先到官网下载jdk,http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html,我下载jdk-7u45-linux-x64.tar.gz,下载到主目录 2.解压源码包 通过终端在/usr/local目录下新建java文件夹,命令行: sudo mkdir /usr…
环境 ubuntu17.04 终端(就是黑框) 认识  环境变量:$PATH 在 ×××/bin 下的命令,可以不用到指定目录下, 比如:安装hbase后,hbase提供一些shell命令在habse/bin目录下,我们要执行其中的命令时需要cd到bin目录下,而设置环境变量后可以直接在-下执行,path会寻找命令的路径 以上个人粗浅理解,更深可参考:https://www.linuxidc.com/Linux/2017-08/146501.htm 配置环境变量 1 配置临时环境变量 命令:ex…
JAVA_HOME 配置环境变量 # 使用vim打开.bash_profile文件,加入java环境变量 $ vim .bash_profile export JAVA_HOME=$(/usr/libexec/java_home) 检查是否成功 $ source .bash_profile $ echo $JAVA_HOME $ java -version ANDROID_HOME 配置环境变量 $ vim .bash_profile export ANDROID_HOME=/Applicati…
在上一篇文章中详细介绍了task_struct结构体内的常见成员,然后我们就来看一下具体内容.每个进程都把它的信息放在 task_struct 这个数据结构中,task_struct 包含了这些内容:标示符 : 描述本进程的唯一标示符,用来区别其他进程.状态 : 任务状态,退出代码,退出信号等.优先级 : 相对于其他进程的优先级.程序计数器: 程序中即将被执行的下一条条指令的地址.内存指针: 包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针上下文数据: 进程执行时处理器的寄存器…
JAVA_HOME 配置环境变量 # 使用vim打开.bash_profile文件.加入java环境变量 $ vim .bash_profile export JAVA_HOME=$(/usr/libexec/java_home) 检查是否成功 $ source .bash_profile $ echo $JAVA_HOME $ java -version ANDROID_HOME 配置环境变量 $ vim .bash_profile export ANDROID_HOME=/Applicati…