docker exec命令中的command参数有哪些可以进入shell命令行

    技术2022-07-12  72

    在学习docker的时候,发现在执行docker exec的时候,后面跟一个command参数可以进入命令行,那么有哪些参数可以直接进入shell命令行呢?

    Shell,它们各有所长,有的占用资源少,有的支持高级编程功能,有的兼容性好,有的重视用户体验。

    sh

    sh的全称是Bourne shell,由AT&T公司的Steve Bourne开发,为了纪念他,就用他的名字命名了。

    sh是UNIX上的标准shell,很多UNIX版本都配有sh。sh是第一个流行的Shell。

    csh

    sh之后另一个广为流传的shell是由柏克莱大学的Bill Joy设计的,这个shell的语法有点类似C语言,所以才得名为C shell ,简称为csh。

    tcsh

    tcsh是csh的增强版,加入了命令补全功能,提供了更加强大的语法支持。

    ash

    一个简单的轻量级的Shell,占用资源少,适合运行于低内存环境,但是与下面讲到的 bash shell 完全兼容。

    bash

    bash shell是Linux的默认shell,由GNU组织开发,保持了对sh shell的兼容性,是各种Linux发行版默认配置的 shell。尽管如此,bash和sh还是有一些不同之处:

    一方面,bash扩展了一些命令和参数;

    另一方面,bash并不完全和sh;

    兼容,它们有些行为并不一致,但在大多数企业运维的情况下区别不大,特殊场景可以使用bash代替sh。

    查看 Shell

    Shell是一个程序,一般都是放在/bin或者/user/bin目录下,当前Linux系统可用的Shell都记录在/etc/shells文件中。/etc/shells是一个纯文本文件,你可以在图形界面下打开它,也可以使用cat命令查看它。

    # cat /etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin /bin/tcsh /bin/csh # echo $SHELL /bin/bash

     

    Processed: 0.013, SQL: 9