shell 怎么取远程服务器的变量值

shell 怎么取远程服务器的变量值,第1张

我们在使用shell时,经常会碰到shell变量这个名词,那么,什么是shell变量呢?shell变量就是在shell程序中保存系统和用户所需要的各种各样的值。这个值就是变量,这个值可以由我们自己来定义。shell变量可以分为以下几种类型:

1 环境变量

2 预定义变量

3 位置变量

4 用户自定义变量(也叫本地变量)

1 首先讲一下什么是环境变量,环境变量是linux系统为用户提前设定好的一类shell变量,它的功能是设置当前shell中的工作环境,包括用户的宿主目录,命令查找的路径等。

我们如何查看我们的环境变量呢?我推荐大家使用#set | more命令,set命令用于查看系统的环境变量,由于环境变量可能会比较长,这是我们可以加上一个| more用于分页查看。屏幕上输出了很多信息,我们该怎么看这些信息呢?举个简单的例子,“BASH=/bin/bash”等号左边的代表变量名称,右边代表变量值。还有没有别的方法查看环境变量呢?答案是有,我们可以使用#echo $BASH命令,请注意,echo语句的作用是显示字符串或shell变量的值,当使用“$变量名”作为echo的输出命令参数的时候,就显示的是指定的变量值。如果不加“$”,则表示输出echo后面的字符串。

下面讲一下常见的环境变量:

USER表示当前登入用户的名称

UID表示当前登入用户的UID号

SHELL表示当前登入用户使用的shell

HOME表示当前用户登入的宿主目录

PWD表示当前登入用户所在的位置

PATH表示用户敲入命令的搜索路径,我们在linux执行的命令一般都位于/XX/bin下面,我们每次敲命令都不需要将路径输入完整这就是PATH变量的功劳,shll程序根据PATH变量中设定的路径会自动搜索命令。

PS1和PS2分别代表主提示符和辅提示符。主提示符是用户在命令行状态下看到的提示符字符串,如[root@localhost ~]#之类的。辅提示符是用于我们如果输入一个比较长的命令的时候需要换行的时后,在命令的第二行出现的提示符,默认为“>”。如何换行呢?只需要在命令的行尾输入“\”回车即可。

说完常见的环境变量,再说说环境变量配置文件。环境变量配置文件可以分为全局配置文件和用户配置文件。

全局配置文件:profile和bashrc,profile负责全局环境设置,并应用于说有用户登入的shell;bashrc用于定义全局函数和别名。这两个配置文件都位于/etc目录下,修改全局配置文件需要root权限。

用户配置文件:bash_profile和bashrc。basj_profile的作用类似于全局环境变量的profile,但只对当前用户起作用;bashrc的作用类似于全局环境变量的bashrc,用于定义函数和别名。这两个文件分别位于当前登入用户的宿主目录下,由于是隐藏文件,用户可以使用ls -al命令来查看。如果对用户的配置文件做了错误的修改,可以通过复制/etc/skel/目录下模板的所有文件复制到宿主目录中,从而恢复初始配置。

2 预定义变量

预定义变量是系统中已经定义好的变量,我们只能使用预定义变量而不能创建或修改它。预定义变量的格式为“$”符号加上另外一个符号组成的。下面介绍一些常见的预定义变量。

$#表示位置参数的数量

$表示所有位置参数的内容

$表示表示命令执行后返回的状态,它用于检查上一个命令执行是否正确;当你输入#$后显示的值为0则表示之前输入到值为正确的;若为其它值都代表错误的。

$$表示当前进程的进程号

$!表示后台运行的最后一个进程的进程号

$0表示当前执行的进程名

3 位置变量

位置变量与shell脚本程序所执行时使用的命令参数行对应,命令行中的参数是按照从左到右顺序付给位置变量的。

4 用户自定义变量(本地变量)

用户自定义变量顾名思义就是用户自己定义的变量,只在自己的系统中有效。设置方法为#DAY=Sunday,使用方法为#echo $DAY命令输出的格式为Sunday。这个定义的变量只能在当前shell中使用,要是想在其他shell中使用的话,就必须将它设置为全局变量,方法为#export DAY即可在任何本地shell中生效。如果你想删除用户自定义变量,那么就要使用#unset DAY即可,unset命令无论是否输出为全局变量,都可以删除。

Dim是Dimension的缩写,在VB中是定义函数时用到的,它是变量的声明;后面加上所需变量的名字。格式为Dim<变量名>As<数据类型>

As为变量指定类型,运行时,Dim语句就根据变量类型为变量分配内存空间。

如:Dim a As Integer 定义一个整型变量,变量名为a。

扩展资料:

VB 的中心思想就是要便于程序员使用,无论是新手或者专家。VB使用了可以简单建立应用程序的GUI 系统,但是又可以开发相当复杂的程序。VB 的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组件的属性和方法。

因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。过去的版本里面 VB 程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。

VB 的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。有很少功能的对话框窗口(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。

VB 的组件既可以拥有用户界面,也可以没有。这样一来服务器端程序就可以处理增加的模块。

参考资料:

—Visual Basic

ServerVariables 是一个集合 ,用于取回服务器变量的值。

ServerVariables变量列表

ServerVariables 集合检索预定的环境变量。

语法

RequestServerVariables (server environment variable)

参数

服务器环境变量

指定要检索的服务器环境变量名。可以使用下面列出的值。变量 说明

ALL_HTTP 客户端发送的所有 HTTP 标题文件。

ALL_RAW 检索未处理表格中所有的标题。ALL_RAW 和 ALL_HTTP 不同,ALL_HTTP 在标题文件名前面放置 HTTP_ prefix,并且标题名称总是大写的。使用 ALL_RAW 时,标题名称和值只在客户端发送时才出现。

APPL_MD_PATH 检索 ISAPI DLL 的 (WAM) Application 的元数据库路径。

APPL_PHYSICAL_PATH 检索与元数据库路径相应的物理路径。IIS 通过将 APPL_MD_PATH 转换为物理(目录)路径以返回值。

AUTH_PASSWORD 该值输入到客户端的鉴定对话中。只有使用基本鉴定时,该变量才可用。

AUTH_TYPE 这是用户访问受保护的脚本时,服务器用于检验用户的验证方法。

AUTH_USER 未被鉴定的用户名。

CERT_COOKIE 客户端验证的唯一 ID,以字符串方式返回。可作为整个客户端验证的签字。

CERT_FLAGS 如有客户端验证,则 bit0 为 1。

如果客户端验证的验证人无效(不在服务器承认的 CA 列表中),bit1 被设置为 1。

CERT_ISSUER 用户验证中的颁布者字段(O=MS,OU=IAS,CN=user name,C=USA)。

CERT_KEYSIZE 安全套接字层连接关键字的位数,如 128。

CERT_SECRETKEYSIZE 服务器验证私人关键字的位数。如 1024。

CERT_SERIALNUMBER 用户验证的序列号字段。

CERT_SERVER_ISSUER 服务器验证的颁发者字段。

CERT_SERVER_SUBJECT 服务器验证的主字段。

CERT_SUBJECT 客户端验证的主字段。

CONTENT_LENGTH 客户端发出内容的长度。

CONTENT_TYPE 内容的数据类型。同附加信息的查询一起使用,如 HTTP 查询 GET、 POST 和 PUT。

GATEWAY_INTERFACE 服务器使用的 CGI 规格的修订。格式为 CGI/revision。

HTTP_<HeaderName> HeaderName 存储在标题文件中的值。未列入该表的标题文件必须以 HTTP_ 作为前缀,以使 ServerVariables 集合检索其值。

注意 服务器将 HeaderName 中的下划线(_)解释为实际标题中的破折号。例如,如果您指定 HTTP_MY_HEADER,服务器将搜索以 MY-HEADER 为名发送的标题文件。

HTTPS 如果请求穿过安全通道(SSL),则返回 ON。如果请求来自非安全通道,则返回 OFF。

HTTPS_KEYSIZE 安全套接字层连接关键字的位数,如 128。

HTTPS_SECRETKEYSIZE 服务器验证私人关键字的位数。如 1024。

HTTPS_SERVER_ISSUER 服务器验证的颁发者字段。

HTTPS_SERVER_SUBJECT 服务器验证的主字段。

INSTANCE_ID 文本格式 IIS 实例的 ID。如果实例 ID 为 1,则以字符形式出现。使用该变量可以检索请求所属的(元数据库中)Web 服务器实例的 ID。

INSTANCE_META_PATH 响应请求的 IIS 实例的元数据库路径。

LOCAL_ADDR 返回接受请求的服务器地址。如果在绑定多个 IP 地址的多宿主机器上查找请求所使用的地址时,这条变量非常重要。

LOGON_USER 用户登录 Windows NT® 的帐号。

PATH_INFO 客户端提供的额外路径信息。可以使用这些虚拟路径和 PATH_INFO 服务器变量访问脚本。如果该信息来自 URL,在到达 CGI 脚本前就已经由服务器解码了。

PATH_TRANSLATED PATH_INFO 转换后的版本,该变量获取路径并进行必要的由虚拟至物理的映射。

QUERY_STRING 查询 HTTP 请求中问号()后的信息。

REMOTE_ADDR 发出请求的远程主机的 IP 地址。

REMOTE_HOST 发出请求的主机名称。如果服务器无此信息,它将设置为空的 MOTE_ADDR 变量。

REMOTE_USER 用户发送的未映射的用户名字符串。该名称是用户实际发送的名称,与服务器上验证过滤器修改过后的名称相对。

REQUEST_METHOD 该方法用于提出请求。相当于用于 HTTP 的 GET、HEAD、POST 等等。

SCRIPT_NAME 执行脚本的虚拟路径。用于自引用的 URL。

SERVER_NAME 出现在自引用 UAL 中的服务器主机名、DNS 化名或 IP 地址。

SERVER_PORT 发送请求的端口号。

SERVER_PORT_SECURE 包含 0 或 1 的字符串。如果安全端口处理了请求,则为 1,否则为 0。

SERVER_PROTOCOL 请求信息协议的名称和修订。格式为 protocol/revision 。

SERVER_SOFTWARE 应答请求并运行网关的服务器软件的名称和版本。格式为 name/version 。

URL 提供 URL 的基本部分。

局部变量是用户可自定义的变量,它的作用范围仅在程序内部。在程序中通常用来储存从表中查询到的数据,或当作程序执行过程中暂存变量使用。局部变量必须以“@”开头,而且必须先用DECLARE命令说明后才可使用。其说明形式如下:

DECLARE @变量名 变量类型 [@变量名 变量类型…]

其中变量类型可以是sql server(WINDOWS平台上强大的数据库平台) 2000支持的所有数据类型,也可以是用户自定义的数据类型。 

在Transact-SQL中不能像在一般的程序语言中一样使用“变量=变量值”来给变量赋值。必须使用SELECT或SET命令来设定变量的值,其语法如下:

SELECT @局部变量=变量值

SET @局部变量=变量值1212

例:声明一个长度为10 个字符的变量“id”并赋值

declare @id char(10)

select @id=‘10010001’1212

注意:可以在Select命令查询数据时,在Select命令中直接将列值赋给变量。 

例:查询编号为“10010001”的员工和工资,将其分别赋予变量name和wage

use pangu

declare @name char(30)@wage money

select @name=e_name,@wage=e_wage

from employee

where emp_id='10010001'

select @name as e_name,@wage as e_wage123456123456

运行结果如下:

e_name e_wage

------------------------------ -----------

张三 80000000123123

注意:数据库语言和编程语言有一些关键字,关键字是在某一一样下能够促使某一操作发生的字符组合,为避免冲突和产生错误,在命令表、列、变量以及其它对象时应避免使用关键字。

全局变量

全局变量是sql server(WINDOWS平台上强大的数据库平台)系统内部使用的变量,其作用范围并不局限于某一程序,而是任何程序均可随时调用全局变量通常存储一些sql server(WINDOWS平台上强大的数据库平台)的配置设定值和效能统计数据。用户可在程序中用全局变量来测试系统的设定值或Transact-SQL命令执行后的状态值。有关sql server(WINDOWS平台上强大的数据库平台) 全局变量的详细情况请参见附录。 

注意:全局变量不是由用户的程序定义的,它们是在服务器级定应义的。只能使用预先说明及定义的变局变量。引用全局变量时,必须以“@@”开头。局部变量的名称不能与全局变量的名称相同、否则会在应用中出错。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » shell 怎么取远程服务器的变量值

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情