摘要:
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 test.sh # 普通用户执行脚本,返回变量值
aaa 阅读全文
摘要:
1、在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错误。
2、那么什么是环境变量?简单说,就是指定一个目录,运行软件的时候,相关的程序将会按照该目录寻找相关文件。 设置变量对于一般人最实用的功能就是: 不用拷贝某些dll文件到系统目录中了,而path 这一系统变量就是系统搜索dll文件的一系列路径
在Linux系统下,如果你下载并安装应用程序,很有可能在键入它的名称的时候出现 “command not found ” 的提示内容。 如果每次都到安装目录文件夹内,找到可执行文件来进行操作就太繁琐了。 这涉及到环境变量path的设置问题,而Path 的设置也是在Linux下定制环境变量的一个组成部分 阅读全文
摘要:
cat /etc/shells 系统拥有的shell
cat /etc/passwd 记录用户使用的shell
按两次 tab 键可显示所有可执行的指令
alias 查看所有命令的别名
alias lm='ls -al' 定义别名(常用的指令可以起个别名)
在指令后面加 \ 可以换行接着输入指令
myname=victor 设置变量
unset myname 取消变量
export myname 让变量在其他子程序可用(设置成环境变量)
PATH=$PATH:/home/dmtsai/bin 变量累加值
PATH="$PATH"/home/dmtsai/bin 变量累加值(后面没有:符合)
bash 进入子程序
exit 退出子程序
env 查看所有环境变量 阅读全文