shell 怎么取远程服务器的变量值
我们在使用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命令无论是否输出为全局变量,都可以删除。
方法一、直接新建会话连接
双击Xshell图标启动该软件,在主界面点击新建按钮,如下图所示,从而来新建会话。
图1:新建会话
接着会弹出新建会话属性对话框,在其中输入名称(按自己需要取),主机IP,即你要连接的那个服务器IP,其他默认不变,然后点击确定,这样就可以连接到戴尔服务器了。
图2:输入主机IP
在使用Xshell中的过程中如果发现电脑的小键盘没用了,具体可参考:xshell中数字小键盘不能使用怎么办?
方法二、使用SSH来进行连接
输入要连接服务器上的用户名(在服务器已设置好),然后点击确定就可以弹出SSH用户身份验证窗口,输入密码即可。
图3:输入SSH用户名
图4:输入SSH密码
这样就是连接好了,用相应的命令就可以进行操作了,如下图所示。
图5:戴尔服务器连接成功
以上就是给大家介绍的用Xshell连接戴尔服务器的两种方法,两种方法都可以成功连接,大家在使用该软件的时候觉得那种方法方便就用那种。
1、使用ssh-keygen生成密钥实现快速登陆
[python]
view
plain
copy
要跨服务器自动执行脚本,得需要实现免密码自动登陆,然后才能在多个服务器之间跳转,因此我们首先需要生成登陆密钥。
生存登陆密钥需要三个步骤,在本地机器创建密钥,复制公钥要远程主机,将公钥追加到远程主机的authorized_keys
下面是一个操作示例:
oracle@linux1:~>
mkdir
~/ssh
#首先在本地创建ssh目录并赋予权限
oracle@linux1:~>
chmod
700
~/ssh
oracle@linux1:~>
ssh-keygen
-t
rsa
#使用ssh-keygen生成密钥对,也可以使用dsa方式
Generating
public/private
rsa
key
pair
Enter
file
in
which
to
save
the
key
(/users/oracle/ssh/id_rsa):
Enter
passphrase
(empty
for
no
passphrase):
Enter
same
passphrase
again:
Your
identification
has
been
saved
in
/users/oracle/ssh/id_rsa
Your
public
key
has
been
saved
in
/users/oracle/ssh/id_rsapub
The
key
fingerprint
is:
01:c8:48:01:f2:3d:a7:b4:cd:4a:9c:10:2d:ba:ef:4e
oracle@linux1
1、安装好并启动您的xshell,即可对其进行操作。您首先需要打开您的Xshell软件。
2、进入到软件后,您需要做的就是连接一个新的连接。您需要找到下图所示的内容,并点击进入。
3、ip一定要填写正确,还有您的服务器端口如果没有修改,那么使用的就是默认的端口,如果已经修改了,那么您需要填写修改后的端口号才能连接。
4、接下来,您就可以连接了,进入到下图所示的界面,点击连接即可连接到服务器了。
1、地址列表iptxt
2、shell实例
#!/bin/sh
for ip in `cat iptxt`;do
echo $ip;
ssh -p22 root@${ip} "hostname";
done
3、hostname可以改成自己需要的命令。
0条评论