linuxsetenv
⑴ linux下setenv和set的区别
Bash中没有setenv,你说的是C shell (csh / tcsh)吧?
setenv 用于设置环境变量(作用于所有用户进程)。
set 用于设置当前shell中的自定义变量,如 set var=xxx;若set命令不加参数,可列出当前所有环境变量。
⑵ setenv()函数改变的环境变量怎么不起作用
1. 动态链接库在windows中是.dll文件,在linux中则是.so文件,但在System.loadLibrary("change_env")中不需要把后缀写出 ,程序会自己判断。
2. 本地接口声明方式为在普通函数前加native关键字
2. 编译java文件 :Javac ChangeEnv.java
3. 使用命令 javah ChangeEnv 生成ChangeEnv.h文件(ChangeEnv.h文件由程序自动生成,程序员不需要作任何改动)
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class ChangeEnv */
⑶ Linux系统中怎么设置java环境变量
在Linux/unix中设置环境变量
csh:在$HOME/.cshrc中添加一下行
setenv JAVA_HOME/usr/java/jdk1.6.0
setenv PATH $JAVA_HOME/bin:$PATH
setenv CLASSPATH .
bash/ksh中:
在$HOME/.bash_profile中添加以下行:
JAVA_HOME=/home/tarena/jdk1.6.0_05
CLASSPATH=.:..:$JAVA_HOME/jre/lib/rt.jar(java类所在的目录或jar文件,在虚拟机中加载类时,虚拟机在CLASSPAHT中找到它)
PATH=$JAVA_HOME/bin:$PATH (操作系统需要在PATH中找到它)
export JAVA_HOME CLASSPATH PATH
source .bash_profile 让全局环境变量.bash_profile生效
⑷ 如何在linux中改u-boot的环境变量--fw_setenv
在应用程序中按需要对文件进行修改后,再用dd 烧回去。开机,结果出现CRC错误,好吧,原来u-boot为了保证环境变量的正确性,在环境变量的前四个字节储存了CRC效验码。开机搬运环境变量到内存中时如果发现储存的CRC和开机计算的不同时就认为环境变量错误,会恢复默认变量。 把u-boot中相关的CRC代码到应用程序里,这下应该搞定了吧?理想是美好的,现实是残酷的,这次是时好时坏,不太稳定。正当焦头烂额的时候,在网上看到了u-boot的env工具。在u-boot源码的tools文件夹下有个env文件夹。进入修改那个配置文件,改成自己板子上nand的块大小,到u-boot的顶层目录,make env,在env下就生成了fw_printenv程序,那网上说的setenv的工具呢?查看相关的makefile,只有clean部分出现了,env部分是没有的,那到底在哪里呢?原来只要cp fw_printenv fw_setenv就可以了,真的狠神奇。这样就可以达到目的了。
⑸ 关于linux设置环境变量的问题
你好,你给出的应该是一个csh脚本的部分内容。
说简单点,你的代码就是给环境变量LD_LIBRARY_PATH 追加新值,且新值来自命令行参数。这样就可以在脚本执行过程中把动态链接库的目录修改成不同值。
假设我要启动一个脚本abc.sh,并给它3个x,y,z参数。那么,我们在命令行中使用如下命令:
./abc.shxyz
在abc.sh脚本的代码中
${1}代表从命令行传入的第一个参数,x
${2}代表第二个参数,y
${3}代表第三个参数,z
所以,以你的脚本代码举例:
setenvLD_LIBRARY_PATH${2}:$LD_LIBRARY_PATH
这个命令的语法是:
setenv变量名变量值
功能:为环境变量赋值
所以,你的命令翻译出来,就是
将名为LD_LIBRARY_PATH的环境变量,赋值为:
${2}:$LD_LIBRARY_PATH
其中
${2}就是命令行传递的第二个参数
$LD_LIBRARY_PATH是变量LD_LIBRARY_PATH被赋值之前的值。
在shell中,常用冒号作为目录名的分隔符。
比如,我的系统中PATH环境变量为:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
⑹ linux环境变量怎么配置
linux环境变量配置相关命令及例程:
1. 显示环境变量HOME
$ echo $HOME
/home/redbooks
2. 设置一个新的环境变量hello
$ export HELLO="Hello!"
$ echo $HELLO
Hello!
3. 使用env命令显示所有的环境变量
$ env
HOSTNAME=redbooks.safe.org
PVM_RSH=/usr/bin/rsh
Shell=/bin/bash
TERM=xterm
HISTSIZE=1000
...
4. 使用set命令显示所有本地定义的Shell变量
$ set
BASH=/bin/bash
BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")
BASH_VERSION='2.05b.0(1)-release'
COLORS=/etc/DIR_COLORS.xterm
COLUMNS=80
DIRSTACK=()
DISPLAY=:0.0
...
5. 使用unset命令来清除环境变量
set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。示例如下:
$ export TEST="Test..." #增加一个环境变量TEST
$ env|grep TEST #此命令有输入,证明环境变量TEST已经存在了
TEST=Test...
$ unset $TEST #删除环境变量TEST
$ env|grep TEST #此命令没有输出,证明环境变量TEST已经存在了
6. 使用readonly命令设置只读变量
如果使用了readonly命令的话,变量就不可以被修改或清除了。示例如下:
$ export TEST="Test..." #增加一个环境变量TEST
$ readonly TEST #将环境变量TEST设为只读
$ unset TEST #会发现此变量不能被删除
-bash: unset: TEST: cannot unset: readonly variable
$ TEST="New" #会发现此也变量不能被修改
-bash: TEST: readonly variable
环境变量的设置位于/etc/profile文件
如果需要增加新的环境变量可以添加下属行
export path=$path:/path1:/path2:/pahtN
1.Linux的变量种类
按变量的生存周期来划分,Linux变量可分为两类:
永久的:需要修改配置文件,变量永久生效。
临时的:使用export命令声明即可,变量在关闭shell时失效。
2.设置变量的三种方法
在/etc/profile文件中添加变量【对所有用户生效(永久的)】
用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
例如:编辑/etc/profile文件,添加CLASSPATH变量
# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。
在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】
用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。
例如:编辑guok用户目录(/home/guok)下的.bash_profile
$ vi /home/guok/.bash.profile
添加如下内容:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile不然只能在下次重进此用户时生效。
直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】
在shell的命令行下直接使用[export 变量名=变量值] 定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。
环境变量的查看
使用echo命令查看单个环境变量。例如:
echo $PATH
使用env查看所有环境变量。例如:
env
使用set查看所有本地定义的环境变量。
unset可以删除指定的环境变量。
常用的环境变量
PATH 决定了shell将到哪些目录中寻找命令或程序
HOME 当前用户主目录
HISTSIZE历史记录数
LOGNAME 当前用户的登录名
HOSTNAME指主机的名称
SHELL 当前用户Shell类型
LANGUGE 语言相关的环境变量,多语言可以修改此环境变量
MAIL当前用户的邮件存放目录
PS1基本提示符,对于root用户是#,对于普通用户是$
⑺ 【linux-arm UBoot移植】当bootdelay误设置为0时直接进内核了,无法进行setenv操作了
这个问题不大。。。直接修改源码修改啊,各种方法。。。你可以打开 /common/main.c文件,里面有个 main_loop函数,里面的代码就是串口打印出消息,然后倒计时,然后当你按下空格键就进入菜单选项,这些代码都在这个 mian_loop这个函数里面,你找一下,把bootdelay倒数成0就运行bootm这句注释掉,让它倒计时结束后直接进入菜单,然后你按下 'q' 退出菜单,然后你使用 set 命令把bootdelay的值改一下,然后 saveenv就把环境变量的值保存到flash里面了,然后下次重启的时候它的值就改变了,,,,然后你再把源码改回来。。。就没事了。。。。
⑻ linux怎么通过setenv命令修改环境变量
按变量的生存周期来划分,Linux变量可分为两类,它们的修改方法如下:
(1)永久的:需要修改配置文件,变量永久生效。
常见的配置文件包括:
(1-1)/etc/profile:对所有用户生效;此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行;并从/etc/profile.d目录的配置文件中搜集shell的设置
例如:编辑/etc/profile文件,添加CLASSPATH变量
# vi /etc/profile
添加一行:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
修改后需要执行重新登录才能生效,也可以执行命令source /etc/profile来生效
(1-2)/etc/bashrc:对所有用户生效;为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取
编辑方法如上,不再赘述
(1-3)~/.bash_profile:仅会对当前用户有效;每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次
例如:编辑guok用户目录(/home/guok)下的.bash_profile
$ vi /home/guok/.bash.profile
添加如下内容:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
修改后需要执行重新登录才能生效,也可以执行命令source /etc/profile来生效
(1-4)~/.bashrc:仅会对当前用户有效;该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取
编辑方法如上,不再赘述
另外,~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系
综述,对上述文件修改,添加你需要的变量,在启动一个shell(终端,terminal)时,你所定义的变量均会生效的。
(2)临时的:使用export命令声明即可,变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,在关闭shell后失效,再打开新shell时就没有这个变量,需要使用的话还需要重新定义
在shell的命令行下直接使用[export 变量名=变量值] 定义变量
环境变量的查看
(1)使用echo命令查看单个环境变量。例如:
echo $PATH
(2)使用env查看所有环境变量。例如:
env
(3)使用set查看所有本地定义的环境变量。例如:
set
另外,unset可以删除指定的环境变量。
常用的环境变量
PATH 决定了shell将到哪些目录中寻找命令或程序
HOME 当前用户主目录
HISTSIZE历史记录数
LOGNAME 当前用户的登录名
HOSTNAME指主机的名称
SHELL 当前用户Shell类型
LANGUGE 语言相关的环境变量,多语言可以修改此环境变量
MAIL当前用户的邮件存放目录
PS1基本提示符,对于root用户是#,对于普通用户是$
⑼ linux系统下设置环境变量
你要在什么范围内设置环境变量?
[ ]系统全局?
[X]用户全局?
[ ]当前终端?
你用的什么Shell?
[Bash]
====================================
请修改你的用户主目录下的“.bash_profile”。
可在适当位置添加“pwd”命令,以显示当前目录。
⑽ linux setevn 是什么命令
声明全局变量,setevn的变量在调用的程序里也可以用,set赋值的变量只能在该程序里用,是局部变量