74、shell 小知识两点,提示符,特殊变量,export

简介: 1、关于提示符,特殊变量 1)Bash有两级提示符。第一级提示符是经常见到的Bash在等待命令输入时的情况,默认值是$符号,PS1为变量值。第二级提示符是当Bash为执行某条命令需要用户输入更多信息时显示的,默认为>,变量值为PS2。

1、关于提示符,特殊变量

1)Bash有两级提示符。第一级提示符是经常见到的Bash在等待命令输入时的情况,默认值是$符号,PS1为变量值。第二级提示符是当Bash为执行某条命令需要用户输入更多信息时显示的,默认为>,变量值为PS2

2)Bash有一些特殊变量,能控制shell以不同的方式工作。例如,变量noclobber能防止在重定向输出时意外地覆盖一个文件。通过set命令可以设置noclobber变量的有效或无效。set命令有两个参数:一个是指定变量开(on)或关(off)的选项,一个是特殊变量的变量名。要使某一特殊变量开(有效),用-o选项,要使其关(无效),用+o选项。例如:

$ set -o noclobber // 使noclobber变量开

$ set +o noclobber // 使noclobber变量关

3)ignoreeof变量用来禁止使用ctrl+d来退出shellctrl+d不仅用来退出shell,而且可以终止用户直接输往标准输出上的输入。

$ set -o ignoreeof

4)noclobber变量可以在重定向输出时保护已存在的文件,防止被意外地覆盖。

5)设置noglob变量后,shell将不扩展文件名中一些特殊的字符或字符串。如字符*?[]等将不再作为通配符。

2、关于export

    用户登录到Linux系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令或声明变量,也可以创建并运行shell脚本程序。运行shell脚本程序时,系统将创建一个子shell。此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本程序创建的shell。 当一个脚本程序运行完毕,它的脚本shell将终止,可以返回到执行该脚本之前的shell。从这种意义上来说,用户可以有许多 shell,每个shell都是由某个shell(称为父shell)派生的。

    在子shell中定义的变量只在该子shell内有效 。如果在一个shell脚本程序中定义了一个变量,当该脚本程序运行时,这个定义的变量只是该脚本程序内的一个局部变量,其他的shell不能引用它,要使某个变量的值可以在其他shell中被改变,可以使用export命令对已定义的变量进行输出。export命令将使系统在创建每一个新的shell时定义这个变量的一个拷贝。这个过程称之为变量输出。

3、用户可以将每次启动Bash所需要执行的命令放入初始化文件中,最常见的命令就是alias命令和变量定义两种。系统中的每个用户在其主目录中都有个.bash_profile文件,Bash每次启动时都将读取该文件,其中包含的所有命令都将被执行。

参考

1http://blog.csdn.net/clozxy/article/details/5652275

目录
相关文章
|
Shell Python
python 和shell 变量互相传递
python 和shell 变量互相传递
150 0
|
11天前
|
存储 Shell Linux
八、Linux Shell 脚本:变量与字符串
Shell脚本里的变量就像一个个贴着标签的“箱子”。装东西(赋值)时,=两边千万不能有空格。用单引号''装进去的东西会原封不动,用双引号""则会让里面的$变量先“变身”再装箱。默认箱子只能在当前“房间”(Shell进程)用,想让隔壁房间(子进程)也能看到,就得给箱子盖个export的“出口”戳。此外,Shell还自带了$?(上条命令的成绩单)和$1(别人递进来的第一个包裹)等许多特殊箱子,非常有用。
67 2
|
12月前
|
存储 Java Shell
Shell 变量
10月更文挑战第2天
104 1
shell脚本变量 $name ${name}啥区别
shell脚本变量 $name ${name}啥区别
|
Java Shell Linux
Shell 变量设置
Shell设置变量
183 5
|
Shell
[shell]在curl测试的data参数中引用变量
[shell]在curl测试的data参数中引用变量
489 1
|
分布式计算 大数据 Shell
MaxCompute产品使用合集之odps shell如何将ech变量的结果集合写入文件,并且指定服务器的位置
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
126 10
|
Java Shell Linux
Shell 变量设置25-1
Shell编程语言是一种非类型的解释型语言,无需像C++/Java那样事先声明变量。通过赋值即可定义变量,在Linux支持的所有Shell中均适用。变量分为局部变量与环境变量,前者仅限于定义脚本内使用,后者可在其派生的子进程中使用。常见系统变量如$0表示当前程序名称,$n表示第n个参数(n=1,2,...,9),$*代表所有参数,$#代表参数个数,$?表示命令执行后的状态(0为成功),$UID为当前用户ID,$PWD表示当前目录。定义变量如`A=123`,
94 0
|
Shell Linux Perl
Linux|如何允许 awk 使用 Shell 变量
Linux|如何允许 awk 使用 Shell 变量