当前位置: 首页 > news >正文

短链生成网站网站大全全部

短链生成网站,网站大全全部,sem公司,苏州网站排名优化价格〇、更新记录 20230926 补充例子2 一、前言 由于Linux系统的shell有许多种:sh、bash、cshell、tcsh、zsh……这些shell以sh为基础对象,在保持兼容性时又各有有创建,形成自己的功能特点,要想让我们编写的shell代码正确、可靠运行…

〇、更新记录

20230926 补充例子2

一、前言

由于Linux系统的shell有许多种:sh、bash、cshell、tcsh、zsh……这些shell以sh为基础对象,在保持兼容性时又各有有创建,形成自己的功能特点,要想让我们编写的shell代码正确、可靠运行,我们首先应该了解我们的目标系统在登陆后默认使用的是哪个shell,也就是我是谁 | whoami?

二、示例约定

从现在开始,我们就要逐步学习在终端中输入和执行linux命令并根据需要进行编程,这与DOS是相似的。

按照DOS下的惯例,我们在命令提示符后通过键盘输入命令并按下Enter来执行。我们输入的的命令将使用下划线标注。

三、who am i?

linux提供了who am i 或 whoami命令,不过命令的功能用来查询当前登陆系统的帐号信息。

所以如果我们要查询当前使用的shell类型,实际上使用的是其它命令和方法。

要查询我们当前使用的shell类型,有很多种方法,有些很直接,一步到位;有些方法则需要绕一些,通过几个命令配合实现,或者不那么直观,有些则不太靠谱。

(一)最直接的方法

要想知道我们当前使用的shell类别,比较好的方法是使用命令:

echo $0

其中$0的含义要看具体应用场合,像上面这样在命令行中使用,它代表的是Shell本身的PID(ProcessID ),(btw,如果是在脚本中使用,$0表示脚本名称或函数名称)。

1.例子1:

[root@localhost ~]# echo $0

sh

 

可以看到我们当前使用的shell是历史最悠久的sh……其中[root@localhost ~]#是Linux系统终端的命令提示符,它的格式内容是可以自定义的,我们将会在以后学习。

2.例子2:

user@myhost:~>echo $0
bash

可以看到我们当前使用的shell是大多数系统默认的bash……其中user@myhost:~>是Linux系统终端的命令提示符,其内容跟例1是不同的,因为它的格式内容是可以自定义的,自定义的方法我们将会在以后学习。

(二)有点绕的办法

之所以说有点绕,是因为我们不能一步到位,需要执行两条命令:

第一条命令:

echo $$

这条命令将显示Shell本身的PID(ProcessID),

1.例子1:

[root@localhost ~]# echo $$

64

在上面这个例子中,我们可以知道当前进程ID是64。 接下来我们执行第二条命令:

ps

 这条命令用于显示当前进程的信息,类似于 Windows 系统中的控制台命令tastlist,例如:

[root@localhost ~]# ps

PID   USER     COMMAND

    1 root     {init} /bin/sh /sbin/init

    2 root     [kthreadd]

    3 root     [kworker/0:0]

    4 root     [kworker/0:0H]

    5 root     [kworker/u2:0]

    6 root     [mm_percpu_wq]

    7 root     [ksoftirqd/0]

    8 root     [kdevtmpfs]

    9 root     [netns]

   10 root     [oom_reaper]

   11 root     [writeback]

   12 root     [crypto]

   13 root     [kblockd]

   14 root     [kswapd0]

   15 root     [kworker/0:1]

   32 root     [khvcd]

   33 root     [kworker/0:2]

   43 root     dhcpcd

   56 root     [kworker/u2:1]

   64 root     sh -l

   66 root     ps

 从ps命令显示的进程信息中,我们可以看到PID等于64的进程信息是:

  64 root     sh -l

这样我们就知道我们现在用的shell是历史最悠久的sh…… 

2.例子2:

 user@myhost:~>echo $$
14559
user@myhost:~>ps
  PID TTY          TIME CMD
 6554 pts/0    00:00:00 ps
14559 pts/0    00:00:00 bash
user@myhost:~>

 

在第2个例子中,我们先查询到当前进程ID是14559,然后我们通过ps命令查询到PID等于14559的进程信息是bash。

(三) 不那么直观的方法

通过cat命令  查看/etc/passwd文件信息

cat /etc/passwd

从而了解用户的登录Shell类型。

1.例子1:

[root@localhost ~]# cat /etc/passwd

cat /etc/passwd

root:x:0:0:root:/root:/bin/sh

daemon:x:1:1:daemon:/usr/sbin:/bin/false

bin:x:2:2:bin:/bin:/bin/false

sys:x:3:3:sys:/dev:/bin/false

sync:x:4:100:sync:/bin:/bin/sync

mail:x:8:8:mail:/var/spool/mail:/bin/false

www-data:x:33:33:www-data:/var/www:/bin/false

operator:x:37:37:Operator:/var:/bin/false

nobody:x:99:99:nobody:/home:/bin/false

从中我们可以看到,root帐户登陆系统后使用的shell是sh。

为了更直观一些,我们可以使用 管道操作 利用grep命令搜索包含字符串root的行,即:

cat /etc/passwd | grep ^root

 例如:

[root@localhost ~]# cat /etc/passwd | grep ^root

cat /etc/passwd | grep ^root

root:x:0:0:root:/root:/bin/sh

命令执行后系统只显示包含字符串root的信息。

2.例子2:

user@myhost:~>cat /etc/passwd | grep ^user
user:x:1002:1002:,,,:/home/user:/bin/bash

 

在这个例子中,我们可以看到当前使用的shell是bash

(四)不那么靠谱的方法

这种办法主要是用环境变量$SHELL。如:

echo $SHELL

$SHELL的值被设置为你的默认 shell 的完整路径,当你在终端中调用不同的 shell时,$SHELL的值并不会随之改变,它始终指向你的默认 shell 的完整路径。

实例:

user@myhost:~>echo $SHELL
/bin/bash
user@myhost:~>exec dash
\u@myhost:\w>echo $0
dash
\u@myhost:\w>echo $SHELL
/bin/bash

在上面的例中,我们首先使用echo $SHELL命令查询到系统默认的shell是bash

然后,我们使用exec dash命令将shell改为dash

接着我们使用echo $0命令证明我们当前使用的shell是dash

但是我们再次使用echo $SHELL命令查询,环境变量$SHELL的值并没有变成dash,仍然是默认的bash。

需要注意的是,$SHELL中的英文字母是大写的。也就是说,linux中的环境变量名称是区分大小英文字母的。$SHELL和$shell是两个环境变量。

http://www.yayakq.cn/news/836620/

相关文章:

  • 安全的网站建设推广单页网站是什么
  • wordpress分类图片尺寸seo常用工具有哪些
  • 青岛网站设计报价出口商出口外贸流程
  • wordpress优化网站打开速度wordpress不自动安装插件
  • 怎样建立企业网站微信小程序怎么关闭游戏
  • 素材解析网站搭建dedecms精仿学校网站模板
  • 网站一般用什么语言写网站建设基本流程流程图
  • 企业型网站和展示型网站的区别建设网站好学吗
  • 选服务好的网站建设公司wordpress漫画程序
  • cnzz统计代码放在后台网站为什么没显示html代码下载
  • 背投广告典型网站在线观看的免费
  • 定制化网站建设wordpress 幻灯片设置
  • 正规的网站制作服务电话网上接装修工程哪家平台好
  • h5网站模板下载公司网站关键词优化
  • 六安网站wordpress去除wordpress新闻
  • 哪个网站可以做效果图防水补漏东莞网站建设
  • 门户网站需要多少空间哪里有网站建设培训班
  • 低价网站建设浩森宇特django 开放api 做网站
  • 贵港市网站建设wordpress 注册邮箱验证
  • 手机wap网站制作需要多少钱制作个人网站的软件
  • 教育类网站 前置审批扑克直播软件app开发
  • 怎么做自助交易网站温州专业营销网站建设
  • 学院网站建设自查报告500亿网站建设
  • 帮忙建网站的人大型网站制作费用表
  • 上海做网站公司哪家好建立簇状柱形图怎么设置
  • 房地产公司如何网站建设html5 珠宝网站
  • 做淘客的网站关键词有哪些婚纱摄影网站设计思路
  • 免费咨询律师网站wordpress 加载jquery
  • 做网站后端需要学什么做网站公
  • 东钱湖镇建设局网站网站建设的工期拖延如何解决