❶ linux环境变量怎么配置
linux环境变量配置相关命令及例程:1. 显示环境变量HOME$ echo $HOME/home/redbooks2. 设置一个新的环境变量hello$ export HELLO="Hello!"$ echo $HELLOHello!3. 使用env命令显示所有的环境变量$ envHOSTNAME=redbooks.safe.orgPVM_RSH=/usr/bin/rshShell=/bin/bashTERM=xtermHISTSIZE=1000…4. 使用set命令显示所有本地定义的Shell变量$ setBASH=/bin/bashBASH_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.xtermCOLUMNS=80DIRSTACK=()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:/pahtN1.Linux的变量种类按变量的生存周期来划分,Linux变量可分为两类:永久的:需要修改配置文件,变量永久生效。临时的:使用export命令声明即可,变量在关闭shell时失效。2.设置变量的三种方法在/etc/profile文件中添加变量【对所有用户生效(永久的)】用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。例如:编辑/etc/profile文件,添加CLASSPATH变量# vi /etc/profileexport 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下配置自己的环境变量文件my_env.sh
配置环境变量分为系统级和用户级,系统级所有用户生效,用户级针对特定用户,现场环境根据职能不同,会通过用户限制操作范围,环境变量修改以实际需要为准,遵循权限最小原则。 一般添加系统环境变量,修改/etc/profile文件,如果操作失误,删除重要配置,影响系统运行。 centos7版本中 /etc/profile 默认扫描路径 /etc/profile.d/ 下sh文件,并添加内容到环境变量中,可以通过这种方式不操作/etc/profile增加环境变量。 在/etc/profile.d/下创建文件 my_env.sh,并设置环境变量,如jdk等,内容如下: vi /etc/profile.d/my_env.sh 编辑用户文件:~/.bash_profile,增加新path配置信息。如jdk: 自定义命令可以实现很多功能,如项目结构化目录文件生成、系统命令集合、带参命令自动填充等,脚本功能决定自定义命令的丰富程度。 创建自定义命令文件目录,方便集中管理,这里在当前用户目录下创建bin目录:mkdir ~/bin 创建自定义命令文件,文件名为命令名,如vi ~/bin/print,内容打印:echo test,添加文件执行权限:chmod 700 ~/bin/print 系统级 编辑/etc/profile.d/my_env.sh文件,增加环境变量export PATH= PATH:/home/用户名/bin 测试 控制台输入print ,回车即可
❸ linux中环境变量的设置和makefile文件的编辑,最好能详细一点的资料,谢谢!
八 环境变量8.1 查看环境变量$ env 显示所有的环境变量设置$ echo $ENV_VARIABLE 显示指定环境变量的设置例:$ echo $PATH/bin:/etc:/usr/bin:/tcb/bin8.2 设定环境变量$ ENV_VARIABLE=XXX;export ENV_VARIABLE例:$ PATH=$PATH:$INFORMIXDIR/bin;export PATH 将环境变量PATH设定为原PATH值+$INFORMIXDIR/bin8.3 取消环境变量设置$ unset $ENV_VARIABLE例:$ set GZJ=gzj;export GZJ 设置环境变量GZJ$ echo $GZJgzj 显示环境变量值$ unset $GZJ 取消环境变量GZJ的设置$ echo $GZJ 已取消一 makefile规则makefile是一个make的规则描述脚本文件,包括四种类型行:目标行、命令行、宏定义行和make伪指令行(如“include”)。makefile文件中注释以“#”开头。当一行写不下时,可以用续行符“\”转入下一行。1.1 目标行目标行告诉make建立什么。它由一个目标名表后面跟冒号“:”,再跟一个依赖性表组成。例:example: depfile deptarget该目标行指出目标example与depfile和deptarget有依赖关系,如果depfile或deptarget有修改,则重新生成目标。example1 example2 example3: deptarget1 deptarget2 depfile该目标行指出目标名表中的example1、example2、example3这三个各自独立的目标是用相同的依赖列表和规则生成的。clean:空的依赖列表说明目标clean没有其他依赖关系。目标行后续的以Tab 开始的行是指出目标的生成规则,该Tab字符不能以空格代替。例如:example.o:example.c example.h cc –c example.c该例子指出目标example.o依赖于example.c和example.h。如果example.c或example.h其中之一改变了,就需要执行命令cc –c example.c重新生成目标example.o。可以用文件名模式匹配来自动为目标生成依赖表,如:prog: *.c以下是一个简单的makefile的例子:图 1 最简单的makefile例make使用makefile文件时,从第一个目标开始扫描。上例中的第一个目标为all,所以目标clean不会自动被执行,可以通过命令make clean来生成目标。1.2 命令行命令行用来定义生成目标的动作。在目标行中分号“;”后面的文件都认为是一个命令,或者一行以Tab制表符开始的也是命令。如在上面的makefile例中,第三行以Tab字符开始的cc命令即是一个命令行,说明要生成hello应执行的命令。也可以写成:hello:hello.o;cc –c hello –L…一般情况下,命令行的命令会在标准输出中回显出来,如对上面的makefile执行make时,标准输出如下: cc -c hello.c cc -o hello -L/usr/X11R6/lib -L/usr/lib -lXm -lXt -lX11 hello.o cc -c hello1.c cc -o hello1 -L/usr/X11R6/lib -L/usr/lib -lXm -lXt -lX11 hello1.o如果不希望命令本身回显,可在命令前加@字符,如在上例中不希望回显cc –c hello.c和cc –c hello1.c,可修改makefile文件如下:图 2 抑制回显的makefile例对该makefile文件执行make时,标准输出如下: cc -o hello -L/usr/X11R6/lib -L/usr/lib -lXm -lXt -lX11 hello.o cc -o hello1 -L/usr/X11R6/lib -L/usr/lib -lXm -lXt -lX11 hello1.o可以看出,命令行前有@字符的不回显。1.3 宏定义行在makefile中,可以使用宏定义减少用户的输入,例如上例中对hello和hello1的编译选项均为“-L/usr/X11R6/lib -L/usr/lib -lXm -lXt -lX11”,此时可以用宏来代替,如:图 3 使用宏定义的makefile例宏定义的基本语法是:name=value在定义宏时,次序不重要。宏不需要在使用前定义。如果一个宏定义多次,则使用最后一次的定义值。可以使用“$”字符和“()”或“{}”来引用宏,例如:cc –o hello.o $(CCFLAGS) hello.o也可以将一个宏赋值给另一个宏,但这样的定义不能循环嵌套,如:A=value1B=value2C=$(A) $(B)等价于C=value1 value21.4 伪指令makefile大部分由宏定义行、命令行和目标行组成。第四种类型是make伪指令行。make伪指令没有标准化,不同的make可能支持不同的伪指令集,使得makefile有一定的不兼容性。如果要考虑移植性问题,则要避免使用make伪指令。但有一些伪指令,如include,由于使用比较多,很多不同make都提供该伪指令。1.4.1 伪指令include该伪指令类似C语言中的#include,它允许一次编写常用的定义并包括它。include伪指令必须在一行中,第一个元素必须是include,并且跟一个要包含的文件名,如:include default.mk1.4.2 伪指令“#”“#”字符也是make的伪指令,它指出“#”后面的文件是注释,如:PROGNAME=test # define macro#don't modify this二 后缀规则2.1 双后缀规则在前面的makefile例中有许多重复内容,例如,生成hello和hello1的命令类似,生成hello.o和hello1.o的命令也类似,除了编译或链接的文件不一样外,其它均相同,这时,我们就可以使用后缀规则。首先看一个双后缀的例子:图 4 使用双后缀规则的makefile例后缀规则使用特殊的目标名“.SUFFIXES”。第一行中.SUFFIXES的依赖表为空,用来清除原有的后缀规则,因为.SUFFIXES可以在makefile中多次使用,每一次都将新的后缀规则加入以前的后缀规则中。第二行中指定后缀规则为“.c .o”,即表示将所有的.c文件转换为.o文件。第三行指定将.c文件转换成.o文件的方法。$(CC)为make的预定义宏,其默认值为cc,$<为特殊的宏,代替当前的源文件,即所有要编译的.c文件。第六行指定目标hello和hello1的生成方法。$@为特殊的宏,代替当前的目标名,即hello和hello1,[email protected]即为hello.o和hello1.o。上例介绍的是双后缀规则,即它包含两个后缀,如.c.o,用来把一个C源文件编译为目标文件。双后缀规则描述如何由第一个后缀类型的文件生成第二个后缀类型的文件,例如:.c.o规则描述如何由.c文件生成.o文件。2.2 单后缀规则单后缀规则描述了怎样由指定后缀的文件生成由它基名为名字的文件。例如使用单后缀规则.c,可以由hello.c和hello1.c生成hello和hello1文件。例如将前面的makefile改为:图 5 使用单后缀规则的makefile例由于.c后缀规则为make标准后缀规则,make为其指定了相应的命令行,所以在makefile中可以不用再指定其目标生成的具体命令行。下表是make提供的标准后缀规则。表 1 make标准后缀规则后缀规则 命令行.c $(LINK.c) –o $@ $< $(LDLIBS).c.ln $(LINK.c) $(POUTPUT OPTPUT OPTION) –i $<.c.o $(COMPILE.c) $(OUTPUT OPTION) $<.c.a $(COMPILE.c) –o $% $<$(AR) $(ARFLAGS) $@ $%$(RM) $%三 特殊目标在后缀规则中使用了特殊目标.SUFFIXES,用来指定新增的后缀规则。make还提供了几个特殊目标来设置make的行为,下面为一些特殊的目标: .IGNOREmake在执行命令行时,如果返回的是错误码,make的缺省动作是停止并退出。增加该目标后,make将忽略命令行返回的错误码,并继续执行后续的操作。 .SILENT前面已经介绍过,make在执行命令行时会回显命令行内容,在命令行前增加“@”字符将抑制该命令行的回显。如果增加该目标,所有的命令行不再回显,相当于在每个命令行前均增加了“@”字符。 .PRECIOUS当收到一个信号或从shell命令返回非零的错误码时,make删除它所有已建立的文件。但有些文件即使出了错误,用户也不想让make删除,这些文件可以作为.PRECIOUS目标的参数。它可以在一个makefile中出现多次,每一次都累积文件列表。 .SUFFIXES它为makefile指定新的后缀规则,新的后缀规则作为.SUFFIXES的依赖表给出。.SUFFIXES可以在一个makefile中多次使用,每一次都将新的后缀规则加入以前的后缀规则中,如果.SUFFIXES的依赖表为空,则设置后缀规则表为空。四 特殊的宏为简单使用规则,make提供了几个特殊的宏: $@整个当前目标名的值可以由宏“$@”来代替。 $<当前的源文件由“$<”来代替。例如,在前面的例子中用到了$(CC) –c $<,其中的“$<”是所有要编译的.c文件。宏“$<”仅在后缀规则或.DEFAULT中有效。 $*当前目标的基名由宏“$*”来代替。例如目标的名字是hello.o,则基名就是除去了后缀.o的hello。以上介绍的特殊宏使用了make自身的规则,用户不可以改变。下表介绍了C中预定义的宏。用途 宏 默认值库文档汇编命令 AR ar ARFLAGS rv AS as ASFLAGS COMPILE.s $(AS) $(ASFLAGS) $(TARGET ARCH)C编译器命令 CC cc CFLAGS CPPFLAGS COMPILE.c $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET ARCH) –c LINK.c $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET ARCH)链接编辑器命令 LD ld LDFLAGS rm命令 RM rm后缀列表 SUFFIXES .o .c .c~ .s .s~ .S .S~ .ln .f .f~ .F .F~ .l .mod .mod~ .sym.def .def~ .p .p~ .r .r~ .y .y~ .h .h~ .sh .sh~ .cps .cps~五 makefile的应用当调用make时,它在当前目录下搜索文件名是“makefile”或“Makefile”的文件,并执行。如果不想使用上述缺省文件,可以使用命令行中的“-f”来指定文件,如将编写的makefile命名为mklib,则指定为“make –f mklib”。
❹ linux下开发python怎么指定新建文件头注释
1.选择File -> Settings