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命令无论是否输出为全局变量,都可以删除。

select APP_NAME ( ) as w --当前会话的应用程序

select @@ERROR--返回最后执行的 Transact-SQL 语句的错误代码(integer)

select @@IDENTITY --返回最后插入的标识值

select USER_NAME()--返回用户数据库用户名

select @@CONNECTIONS --返回自上次SQL启动以来连接或试图连接的次数。

select GETDATE() --当前时间

select @@CPU_BUSY/100 --返回自上次启动SQL 以来 CPU 的工作时间,单位为毫秒

USE tempdb select @@DBTS as w --为当前数据库返回当前 timestamp 数据类型的值。这一 timestamp 值保证在数据库中是唯一的。

select @@IDLE as w --返回SQL自上次启动后闲置的时间,单位为毫秒

select @@IO_BUSY AS w --返回SQL自上次启动后用于执行输入和输出操作的时间,单位为毫秒

select @@LANGID AS w --返回当前所使用语言的本地语言标识符(ID)。

select @@LANGUAGE AS w --返回当前使用的语言名

select @@LOCK_TIMEOUT as w --当前会话的当前锁超时设置,单位为毫秒。

select @@MAX_CONNECTIONS as w --返回SQL上允许的同时用户连接的最大数。返回的数不必为当前配置的数值

EXEC sp_configure --显示当前服务器的全局配置设置

select @@MAX_PRECISION as w --返回 decimal 和 numeric 数据类型所用的精度级别,即该服务器中当前设置的精度。默认最大精度38。

select @@OPTIONS as w --返回当前 SET 选项的信息。

select @@PACK_RECEIVED as w --返回SQL自启动后从网络上读取的输入数据包数目。

select @@PACK_SENT as w --返回SQ自上次启动后写到网络上的输出数据包数目。

select @@PACKET_ERRORS as w --返回自SQL启动后,在SQL连接上发生的网络数据包错误数。

select @@SERVERNAME as w --返回运行SQL服务器名称。

select @@SERVICENAME as w --返回SQL正在其下运行的注册表键名

select @@TIMETICKS as w --返回SQL服务器一刻度的微秒数

select @@TOTAL_ERRORS AS w --返回 SQL服务器自启动后,所遇到的磁盘读/写错误数。

select @@TOTAL_READ as w --返回 SQL服务器自启动后读取磁盘的次数。

select @@TOTAL_WRITE as w --返回SQL服务器自启动后写入磁盘的次数。

select @@TRANCOUNT as w --返回当前连接的活动事务数。

select @@VERSION as w --返回SQL服务器安装的日期、版本和处理器类型。

全局变量应该没有,不过get_headers()函数可以返回服务器状态

<?php

$url = '网址'

$header = get_headers($url, 1)

echo '状态为:'.$header[0].'<br />'

//

preg_match('/\d{3}/',$header[0],$code)

echo '数字状态码为:'.$code[0].'<br />'

?>


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/724494.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-09
下一篇2023-08-09

发表评论

登录后才能评论

评论列表(0条)

    保存