精华内容
下载资源
问答
  • run.sh #!/bin/bash shell_name=$1 bash $shell_name # 不要使用引号 run_all.sh #!/bin/bash 真实代码... 调用: bash run.sh "/bertrel/run_all.sh -train=true
    run.sh
    
    #!/bin/bash
    shell_name=$1
    bash $shell_name  # 不要使用引号
    
    run_all.sh 
    
    #!/bin/bash
    真实代码...
    
    调用:
    
    bash run.sh "/bertrel/run_all.sh  -train=true"
    
    展开全文
  • Bash shell 中的字典

    千次阅读 2019-04-15 12:06:47
    文章目录Bash shell 中的字典一 背景二 脚本三 总结 Bash shell 中的字典 一 背景 在一些运维工作中,使用字典能让当前工作事半功倍,类似 Python ,在 GNU bash 4.2.46 中,我们也可以很方便的使用字典来完成一些...

    Bash shell 中的字典

    一 背景

    在一些运维工作中,使用字典能让当前工作事半功倍,类似 Python ,在 GNU bash 4.2.46 中,我们也可以很方便的使用字典来完成一些工作了。本文以一段 bash shell 为例展示一下 Bash 中字典的使用。

    二 脚本

    #!/bin/bash
    # Declare a dictionary.
    declare -A Host
    Host=( [node1]='10.1.1.11' [node2]='10.1.1.12' [node3]='10.1.1.13' [node4]='10.1.1.14' )
    
    # Traversing dictionary values.
    for node_ip in ${Host[@]};
    do
      echo "One IP of these hosts is ${node_ip} .";
    done
    
    # Traversing dictionary keys.
    for node in ${!Host[@]};
    do
      echo "One hostname of these hosts is: ${node}. ";
    done
    
    # Traverse keys and values at the same time.
    for node in ${!Host[@]};
    do
      echo "Hostname: ${node}, IP: ${Host[${node}]}. "
    done
    
    # Get the length of this dictionary.
    echo "The length of this dictionary is ${#Host[@]}. "
    
    # Append a key and a value.
    Host[node5]='10.1.1.15'
    echo "The value of new dictionary is: ${Host[@]}. "
    echo "The length of dictionary is: ${#Host[*]}. "
    
    # Modify a value of the dictionary .
    Host[node1]='10.1.1.111'
    echo "The value of new dictionary is: ${Host[@]}. "
    

    执行结果:

    One IP of these hosts is 10.1.1.14 .
    One IP of these hosts is 10.1.1.11 .
    One IP of these hosts is 10.1.1.12 .
    One IP of these hosts is 10.1.1.13 .
    One hostname of these hosts is: node4.
    One hostname of these hosts is: node1.
    One hostname of these hosts is: node2.
    One hostname of these hosts is: node3.
    Hostname: node4, IP: 10.1.1.14.
    Hostname: node1, IP: 10.1.1.11.
    Hostname: node2, IP: 10.1.1.12.
    Hostname: node3, IP: 10.1.1.13.
    The length of this dictionary is 4.
    The value of new dictionary is: 10.1.1.14 10.1.1.15 10.1.1.11 10.1.1.12 10.1.1.13.
    The length of dictionary is: 5.
    The value of new dictionary is: 10.1.1.14 10.1.1.15 10.1.1.111 10.1.1.12 10.1.1.13.
    

    三 总结

    脚本的注释解释了后面相关代码的功能。通过脚本,我们对 Bash 中的字典有了一些新的认识。

    展开全文
  • 作为一名运维工程师,BashShell脚本编写必不可少。然而,大家会发现专门用来编写BashShell脚本的IDE少之又少。但是,即使这样也阻止不了我们自己通过vim来打造一款属于自己的BashShell脚本开发环境。通过以下命令及...

    作为一名运维工程师,BashShell脚本编写必不可少。然而,大家会发现专门用来编写BashShell脚本的IDE少之又少。但是,即使这样也阻止不了我们自己通过vim来打造一款属于自己的BashShell脚本开发环境。通过以下命令及设置,我们可以很方便的完成BashShell脚本开发环境的搭建,难免疏漏,望指正。

    [BashShell@Geeklp-BashShell ~]$ mkdir .vim #如果没有该目录则创建
    [BashShell@Geeklp-BashShell ~]$ cd .vim
    [BashShell@Geeklp-BashShell .vim]$ curl -C - -o bash-support.zip https://vim.sourceforge.io/scripts/download_script.php?src_id=24452
    [BashShell@Geeklp-BashShell .vim]$ sudo yum -y install vim
    [BashShell@Geeklp-BashShell .vim]$ sudo yum -y install unzip
    [BashShell@Geeklp-BashShell .vim]$ unzip bash-support.zip 
    [BashShell@Geeklp-BashShell .vim]$ rm -rf bash-support.zip
    [BashShell@Geeklp-BashShell .vim]$ cd ~
    [BashShell@Geeklp-BashShell ~]$ echo -e "filetype plugin on\nset nu">>.vimrc #此处很多文章介绍写的都是filetype plug-in on,经本人验证,这样写在当前版本中不支持

    通过以上步骤,我们初步实现了bash-support的安装与设置。接下来我们来开始自定义设置,尽情享受便捷工具带来的乐趣吧!

    第一步:将vi的别名设置为vim,这样每次我们输入vi时进入的就是vim了。

     [BashShell@Geeklp-BashShell ~]$ alias vi='vim'

    第二步:个性化配置。
    (1)新建任意一个.sh文件,使用vi编辑。
    [BashShell@Geeklp-BashShell ~]$ vi test.sh
    退出插入模式:
    这里写图片描述
    输入\ntw(依次输入这四个字符):
    这里写图片描述
    选择3,连续按下2次回车键,填入自定义个人信息,保存退出。
    这里写图片描述
    (2)使用示例。
    - 插入注释。在普通模式下输入:\cfr,输入完毕之后按回车键。
    这里写图片描述
    - 插入语句(n – 普通模式, i – 插入模式,v - 可视模式)。
    \sc – case in … esac (n, i)
    \sei – elif then (n, i)
    \sf – for in do done (n, i, v)
    \sfo – for ((…)) do done (n, i, v)
    \si – if then fi (n, i, v)
    \sie – if then else fi (n, i, v)
    \ss – select in do done (n, i, v)
    \su – until do done (n, i, v)
    \sw – while do done (n, i, v)
    \sfu – function (n, i, v)
    \se – echo -e “…” (n, i, v)
    \sp – printf “…” (n, i, v)
    \sa – array element, ${.[.]} (n, i, v) 更多数组特征。
    这里写图片描述
    更多按键映射详见下图:
    这里写图片描述
    (3)在 Vi 编辑器中使用运行操作。
    下面是一些运行操作键映射的列表:
    \rr – 更新文件,运行脚本(n, i)
    \ra – 设置脚本命令行参数 (n, i)
    \rc – 更新文件,检查语法 (n, i)
    \rco – 语法检查选项 (n, i)
    \rd – 启动调试器(n, i)
    \re – 使脚本可/不可执行(*) (n, i)
    执行时无需提前在文件上新增执行权限。如果需要给文件新增执行权限请输入\re,按一次回车键,输入O或者不输入直接回车键。
    这里写图片描述
    (4)在脚本中使用预定义代码片段。预定义代码片段是为了特定目的包含了已写好代码的文件。为了添加代码段,输入 \nr 和 \nw 读/写预定义代码段。输入下面的命令列出默认的代码段:

    [BashShell@Geeklp-BashShell ~]$ ll .vim/bash-support/codesnippets/
    总用量 68
    -rw-r--r--. 1 BashShell BashShell  132 116 2013 basename+pathname
    -rw-r--r--. 1 BashShell BashShell   88 116 2013 check-for-signed-integer
    -rw-r--r--. 1 BashShell BashShell   74 116 2013 check-for-unsigned-integer
    -rw-r--r--. 1 BashShell BashShell  257 116 2013 check-number-of-command-line-arguments
    -rw-r--r--. 1 BashShell BashShell   75 116 2013 create-tempfile
    -rw-r--r--. 1 BashShell BashShell  886 1212 2013 create-tempfile-in-secure-manner
    -rw-r--r--. 1 BashShell BashShell  505 116 2013 create-tempfile-with-trap
    drwxr-xr-x. 2 BashShell BashShell  140 12月 12 2013 debugging
    -rw-r--r--. 1 BashShell BashShell  448 116 2013 free-software-comment
    -rw-r--r--. 1 BashShell BashShell   85 116 2013 timestamp
    -rw-r--r--. 1 BashShell BashShell  834 116 2013 _trap_DEBUG
    -rw-r--r--. 1 BashShell BashShell  676 116 2013 _trap_ERR
    -rw-r--r--. 1 BashShell BashShell  593 116 2013 _trap_EXIT
    -rw-r--r--. 1 BashShell BashShell  736 116 2013 _trap_RETURN
    -rw-r--r--. 1 BashShell BashShell  947 116 2013 usage-and-command-line-arguments.noindent
    -rw-r--r--. 1 BashShell BashShell  302 116 2013 use-file-descriptor-read
    -rw-r--r--. 1 BashShell BashShell  278 116 2013 use-file-descriptor-write
    -rw-r--r--. 1 BashShell BashShell 1193 116 2013 well-behaved-script

    为了使用代码段,例如 create-tempfile,输入 \nr 并使用自动补全功能选择它的名称,然后输入回车键:
    这里写图片描述
    我们也可以在~/.vim/bash-support/codesnippets/目录下编写你自己的代码段。另外,还可以从你正常的脚本代码中创建你自己的代码段:选择想作为代码段的部分代码,然后输入 \nw 并给它一个相近的文件名。
    这里写图片描述
    参考资料:
    https://wolfgangmehner.github.io/vim-plugins/bashsupport.html
    https://www.tecmint.com/use-vim-as-bash-ide-using-bash-support-in-linux/

    展开全文
  • 基本的bash shell命令

    千次阅读 2017-09-13 22:59:47
    大多数linux发行版的默认都是GUNbash shell,本次将介绍bash shell的一些基本特征,bashshell基本命令来操作linux文件和目录。 1.启动shell Gun bash能提供对linux系统的交互式访问,它是作为普通的程序运行的,...

    大多数linux发行版的默认都是GUNbash shell,本次将介绍bash shell的一些基本特征,bashshell基本命令来操作linux文件和目录。

    1. 启动shell

    Gun bash能提供对linux系统的交互式访问,它是作为普通的程序运行的,通常是在用户登录终端启动,登录时系统启动的shell依赖于用户账户配置。

    /etc/passwd文件包含了所有系统用户列表,以及每个用户的基本配置信息,以下是从/etc/passwd中取出的样例条目。

     

    每个条目有七个字段,字段之间用冒号分隔。系统使用字段中的数据来赋予用户账户某些特定特性。现在先将注意力放在后一个字段上, 该字段指定了用户使用的shell程序

    在前面的/etc/passwd样例条目中,用户root使用/bin/bash作为自己的默认shell程序。这意 味着当root登录Linux系统后,bash shell会自动启动。 尽管bash shell会在登录时自动启动,但是,是否会出现shell命令行界面(CLI)则依赖于所使用的登录方式。如果采用虚拟控制台终端登录,CLI提示符会自动出现,你可以输入shell命令。 但如果是通过图形化桌面环境登录Linux系统,你就需要启动一个图形化终端仿真器来访问shell CLI提示符。

    2.shell提示符

    一旦启动了终端仿真软件包或者登录Linux虚拟控制台,你就会看到shell CLI提示符。提示符 就是进入shell世界的大门,是你输入shell命令的地方。 默认bash shell提示符是美元符号($),这个符号表明shell在等待用户输入。不同的Linux发 行版采用不同格式的提示符。在Ubuntu Linux系统上,shell提示符看起来是这样的: 

    [root@shell-yk ~]#   #号代表管理员  $代表普通用户

    除了作为shell的入口,提示符还能够提供其他的辅助信息。在上面的两个例子中,提示符中 显示了当前用户ID名shell-yk。

    hell提示符并非一成不变。你可根据自己的需要改变它,shell中另一个大有帮助的东西是bash手册。

    3.bash手册

     

    大多数Linux发行版自带用以查找shell命令及其他GNU工具信息的在线手册。熟悉手册对使用各种Linux工具大有裨益,尤其是在你要弄清各种命令行参数的时候。man命令用来访问存储在Linux系统上的手册页面。在想要查找的工具的名称前面输入man命令,就可以找到那个工具相应的手册条目输入命令man xterm就可以进入该页面。例如我们要看ping的手册页面 输入:man ping

    如下:

    当使用man命令查看命令手册页的时候,这些手册页是由分页程序(pager)来显示的。分页 程序是一种实用工具,能够逐页显示文本。可以通过点击空格键进行翻页,或是使用回车键逐行 查看。另外还可以使用箭头键向前向后滚动手册页的内容(假设你用的终端仿真软件包支持箭头 键功能)。 读完了手册页,可以点击q键退出。退出手册页之后,你会重新获得shell CLI提示符,这表 示shell正在等待接受下一条命令。

    手册页将与命令相关的信息分成了不同的节。每一节惯用的命名标准如下:

    并不是每一个命令的手册页都包含表图中列出的所有节。还有一些命令的节名并没有在上面的节名惯用标准中列出。

    一个命令偶尔会在多个内容区域都有对应的手册页。比如说,有个叫作hostname的命令。 手册页中既包括该命令的相关信息,也包括对系统主机名的概述。要想查看所需要的页面,可以 输入man section# topic。对手册页中的第1部分而言,就是输入man 1 hostname。对于手 册页中的第7部分,就是输入man 7 hostname。 你也可以只看各部分内容的简介:输入man 1 intro阅读第1部分,输入man 2 intro阅读 第2部分,输入man 3 intro阅读第3部分,等等。 手册页不是唯一的参考资料。还有另一种叫作info页面的信息。可以输入info info来了解 info页面的相关内容。 另外,大多数命令都可以接受-help或--help选项。例如你可以输入hostname -help来 查看帮助。关于帮助的更多信息,可以输入help。(看出这里面的门道没?) 显然有不少有用的资源可供参考。不过,很多基本的shell概念还是需要详细的解释。在下一 节中,我们要讲讲如何浏览Linux文件系统。 

    4.浏览文件系统 
    当登录系统并获得shell命令提示符后,你通常位于自己的主目录中。一般情况下,你会想去逛逛主目录之外的其他地方。先了解一下Linux文件系统。

    Linux文件系统 如果你刚接触Linux系统,可能就很难弄清楚Linux如何引用文件和目录,对已经习惯 Microsoft Windows操作系统方式的人来说更是如此。在继续探索Linux系统之前,先了解一下它 的布局是有好处的。 你将注意到的第一个不同点是,Linux在路径名中不使用驱动器盘符。在Windows中,PC上 安装的物理驱动器决定了文件的路径名。Windows会为每个物理磁盘驱动器分配一个盘符,每个驱动器都会有自己的目录结构,以便访问存储其中的文件。 

    举个例子,在Windows中经常看到这样的文件路径: 
    c:\Users\Rich\Documents\test.doc 

    这种Windows文件路径表明了文件test.doc究竟位于哪个磁盘分区中。如果你将test.doc保存在 闪存上,该闪存由J来标识,那么文件的路径就是J:\test.doc。该路径表明文件位于J盘的根目录下。
     Linux则采用了一种不同的方式。Linux将文件存储在单个目录结构中,这个目录被称为虚拟 目录(virtual directory)。虚拟目录将安装在PC上的所有存储设备的文件路径纳入单个目录结构中。
     Linux虚拟目录结构只包含一个称为根(root)目录的基础目录。根目录下的目录和文件会按 照访问它们的目录路径一一列出,这点跟Windows类似。

    在Linux中,你会看到下面这种路径: 
    /home/Rich/Documents/test.doc 

    这表明文件test.doc位于Documents目录,Documents又位于rich目录中,rich则在home目录中。 要注意的是,路径本身并没有提供任何有关文件究竟存放在哪个物理磁盘上的信息。 Linux虚拟目录中比较复杂的部分是它如何协调管理各个存储设备。在Linux PC上安装的第 一块硬盘称为根驱动器。根驱动器包含了虚拟目录的核心,其他目录都是从那里开始构建的。 Linux会在根驱动器上创建一些特别的目录,我们称之为挂载点(mount point)。挂载点是虚 拟目录中用于分配额外存储设备的目录。虚拟目录会让文件和目录出现在这些挂载点目录中,然 而实际上它们却存储在另外一个驱动器中。 通常系统文件会存储在根驱动器中,而用户文件则存储在另一驱动器中如下:

    上图展示了计算机中的两块硬盘。一块硬盘和虚拟目录的根目录(由正斜线/表示)关联起 来。剩下的硬盘就可以挂载到虚拟目录结构中的任何地方。在这个例子中,第二块硬盘被挂载到 了/home位置,用户目录都位于这个位置。 Linux文件系统结构是从Unix文件结构演进过来的。在Linux文件系统中,通用的目录名用于 表示一些常见的功能。

    常见的linux目录名称如下:

    常见的目录名均基于文件系统层级标准(filesystem hierarchy standard,FHS)。很多Linux发 行版都遵循了FHS。这样一来,你就能够在任何兼容FHS的Linux系统中轻而易举地查找文件。 

    在登录系统并获得一个shell CLI提示符后,会话将从主目录开始。主目录是分配给用户账户 的一个特有目录。用户账户在创建之后,系统通常会为其分配一个特有的目录。 可以使用图形界面在虚拟目录中跳转。要想在CLI提示符下切换虚拟目录,需要使用cd命令。

    5.绝对文件路径

     用户可在虚拟目录中采用绝对文件路径引用目录名。绝对文件路径定义了在虚拟目录结构中 该目录的确切位置,以虚拟目录的根目录开始,相当于目录的全名。 绝对文件路径总是以正斜线(/)作为起始,指明虚拟文件系统的根目录。因此,如果要指 向usr目录所包含的bin目录下的用户二进制文件,可以使用如下绝对文件路径: 

    /usr/bin 

    使用绝对文件路径可以清晰表明用户想切换到的确切位置。要用绝对文件路径来切换到文件 系统中的某个特定位置,只需在cd命令后指定全路径名:

    [root@shell-yk ~]# cd /usr/bin 

    在上面的例子中,提示符中一开始有一个波浪号(~)。在切换到另一个目录之后,这 个波浪号被/usr/bin替代了。CLI提示符正是用它来帮助你跟踪当前所在虚拟目录结构中的位置。 波浪号表明shell会话位于你的主目录中。在切换出主目录之后,如果提示符已经进行了相关配置 的话,绝对文件路径就会显示在提示符中。 

    如果没有配置好提示符来显示当前shell会话的绝对文件路径,也可以使用shell命令来显示所 处的位置。pwd命令可以显示出shell会话的当前目录,这个目录被称为当前工作目录。pwd命令 的用法如下

    [root@shell-yk bin]# pwd
    /usr/bin

    还可以从Linux虚拟目录中的任何一级跳回主目录


    6.文件和目录列表 

    要想知道系统中有哪些文件,可以使用列表命令(ls)。

    基本列表功能 ls命令基本的形式会显示当前目录下的文件和目录: 

     

     

    注意,ls命令输出的列表是按字母排序的(按列排序而不是按行排序)。如果用户用的是支 持彩色的终端仿真器,ls命令还可以用不同的颜色来区分不同类型的文件。LS_COLORS环境变 量控制着这个功能。(第6章中会讲到环境变量。)不同的Linux发行版根据各自终端仿真器的能力 设置这个环境变量。 如果没安装彩色终端仿真器,可用带-F参数的ls命令轻松区分文件和目录。使用-F参数可 以得到如下输出: 

     

    -F参数在目录名后加了正斜线(/),以方便用户在输出中分辨它们。类似地,它会在可执行 文件,以便用户找出可在系统上运行的文件。 基本的ls命令在某种意义上有点容易让人误解。它显示了当前目录下的文件和目录,但并没有 将全部都显示出来。Linux经常采用隐藏文件来保存配置信息。在Linux上,隐藏文件通常是文件名 以点号开始的文件。这些文件并没有在默认的ls命令输出中显示出来,因此我们称其为隐藏文件。要把隐藏文件和普通文件及目录一起显示出来,就得用到-a参数。下面是一个带有-a参数 的ls命令的例子:

    所有以点号开头的隐藏文件现在都显示出来了。注意,有三个以.bash开始的文件。它们是bash shell环境所使用的隐藏文件, -R参数是ls命令可用的另一个参数,叫作递归选项。它列出了当前目录下包含的子目录中 的文件。如果目录很多,这个输出就会很长。以下是-R参数输出的简单例子

     注意,首先-R参数显示了当前目录下的内容,也就是之前例子中用户home目录下的那些文 件。另外,它还显示出了用户home目录下所有子目录及其内容

    显示长列表 

    在基本的输出列表中,ls命令并未输出太多每个文件的相关信息。要显示附加信息,另一个 常用的参数是-l。-l参数会产生长列表格式的输出,包含了目录中每个文件的更多相关信息

    这种长列表格式的输出在每一行中列出了单个文件或目录。除了文件名,输出中还有其他有 用信息。输出的第一行显示了在目录中包含的总块数。在此之后,每一行都包含了关于文件(或 目录)的下述信息: 文件类型,比如目录(d)、文件(-)、字符型文件(c)或块设备(b);  文件的权限; 文件的硬链接总数; 文件属主的用户名; 文件属组的组名; 文件的大小(以字节为单位); 文件的上次修改时间; 文件名或目录名。 -l参数是一个强大的工具。有了它,你几乎可以看到系统上任何文件或目录的大部分信息。
     在进行文件管理时,ls命令的很多参数都能派上用场。如果在shell提示符中输入man ls, 就能看到可用来修改ls命令输出的参数有好几页。 别忘了可以将多个参数结合起来使用。你不时地会发现一些参数组合不仅能够显示出所需的 内容,而且还容易记忆,例如ls  –alF。 

    过滤输出列表 
    由前面的例子可知,默认情况下,ls命令会输出目录下的所有非隐藏文件。有时这个输出会 显得过多,当你只需要查看单个少数文件信息时更是如此。 幸而ls命令还支持在命令行中定义过滤器。它会用过滤器来决定应该在输出中显示哪些文件 或目录。 这个过滤器就是一个进行简单文本匹配的字符串。可以在要用的命令行参数之后添加这个过 滤器

    7.处理文件(下面简单介绍常用的命令)

    1)我们创建一个文件,比如创建一个qq.txt,可以用touch命令创建

    2)复制文件

    对系统管理员来说,在文件系统中将文件和目录从一个位置复制到另一个位置可谓家常便 饭。cp命令可以完成这个任务。

    3)重命名文件

    4)删除文件

    5)创建目录(创建一个csdn目录)

    6)删除csdn目录

    查看整个文件 如果手头有一个很大的文本文件,你可能会想看看里面是什么内容。在Linux上有3个不同的 命令可以完成这个任务。 

    1. cat命令 cat命令是显示文本文件中所有数据的得力工具。 

    没什么特别的,就是文本文件的内容而已。这里还有一些可以和cat命令一起用的参数,可 能对你有所帮助。 

    -n参数会给所有的行加上行号。 

    这个功能在检查脚本时很有用。如果只想给有文本的行加上行号,可以用-b参数。 

    如果不想让制表符出现,可以用-T参数。 

    希望对您有所帮助,再见

    展开全文
  • bash shell命令(五)

    千次阅读 2020-03-21 17:15:02
    bash shell用一个叫作环境变量( environment variable)的特性来存储有关shell会话和工作环 境的信息。这项特性允许你在内存中存储数据,以便程序或shell中运行的脚本能够轻松访问到它们。 在bash shell中,环境...
  • 默认情况下bash shell会用一些特定的环境inal来定义系统环境。用户可以使用Linux系统上默认定义的环境变量。bash shell是由Unix Bourne shell衍生出来的,所以它保留了后者中定义的环境变量。 bash shell支持的...
  • 将sh shell 改为bash shell

    千次阅读 2019-03-13 20:12:37
    小白最近换上了深度学习服务器,要多人共享一台机器,可以为每个人分配一个帐号,...上网搜了一下,好像ubuntu默认root是用bash shell,而分配到的新用户用的是sh shell。为了方便使用,需要将sh shell改为bash shel...
  • bash shell命令(四)

    千次阅读 2020-03-21 16:59:19
    默认的系统shell设置为bash shell。 进程列表,命令之间加入分号;,包含在括号里。 要想知道是否生成了子shell,得借助一个使用了环境变量的命令。 echo $BASH_SUBSHELL。如果该命令返回0,就表明没有子shell。...
  • 怎样在window下运行linux bash shell
  • bash shell for循环1到100

    千次阅读 2017-06-27 16:25:36
    bash shell for循环1到100 2013-03-14 18:42 15787人阅读 评论(2) 收藏 举报 分类: bash shell(23) 版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)[+] 前言 用bash shell写程序时,经常会...
  • 本文也即《Learning the bash Shell》3rd Edition的前言之读书笔记。但我们将不限于此。 Bash即Bourne Again shell,可以通过下面查询机器的bash版本:[wei@wei bash-script]$ echo $BASH_VERSION3.2.39(1)-release ...
  • BASH SHELL 接受参数

    万次阅读 2012-08-31 09:27:38
    现在,很多 Linux® 和 UNIX® 系统上都有 bash shell,它是 Linux 上常见的默认 shell。通过本文,您将了解到如何在 bash 脚本中处理参数和选项,以及如何使用 shell 的参数扩展检查或修改参数。本文重点介绍
  • Linux Bash Shell编程(零):序与索引

    千次阅读 2020-08-18 17:08:42
    Linux Bash Shell编程(零):序与索引 序   本Linux Bash Shell编程教程共10节,主要为没有编程基础的运维工作者或想学习Linux Bash脚本的新手而写。教程中含有许多样例参考,全部都是可以执行的命令行或是完整...
  • 学习Bash shell编程资料推荐

    千次阅读 2014-10-18 19:48:25
    我一直觉得写好Bash shell脚本是一件很cool的事,短短几行代码,就能完成其它编程语言几十行甚至上百行代码才能完成的功能,可惜我自己写Bash shell脚本能力实在不敢恭维。在这篇文章,我把自己认为一些比较好的...
  • Ubuntu 16.04 中 bash shell 的环境变量

    千次阅读 2018-02-10 19:37:28
    Ubuntu 16.04 中 bash shell 的环境变量 一、bash shell 的分类 1、login shell 和 no-login shell “登录 shell”代表用户登入,比如使用 ” su - ” 命令,或者用 ssh 连接到某一个服务器上。 “非登录 ...
  • Bash shell内置wait命令简介

    千次阅读 2018-01-18 11:43:27
    转自:http://nanxiao.me/bash-shell-wait/Bash shell内置了wait命令,官方文档对wait解释如下:wait wait [-n] [jobspec or pid …] Wait until the child process specified by each process ID pid or job ...
  • Bash Shell命令行参数的使用

    万次阅读 2017-09-03 16:53:24
    Bash Shell命令行参数的使用执行脚本的时候我们可能需要一并输入相关的参数供脚本执行,这种在执行脚本时直接跟在脚本名后面的参数称为命令行参数。要是用这些参数,我们需要用到一种特殊变量位置参数。bash shell会...
  • Bash Shell 流程控制 —— select

    千次阅读 2014-10-29 18:15:46
    今天刚好写了一个自动化打包脚本,再次使用到了bash shell,好幸福的感觉。这里主要是想介绍一下select命令,这个命令可以帮助我们完成菜单选择功能。 格式 我今天也是第一次使用select流程控制,在php、Java...
  • bash shell走socks5代理

    千次阅读 2018-09-29 16:19:43
    chrome上有现成的插件所以一直都可以用,但在bash shell上始终不知道应该怎么通过这个代理来访问网站。 在网上查了一下,bash上配置代理是export两个环境变量 export http_proxy=socks5://127.0.0.1:1080 export ...
  • bash shell 连接socket

    万次阅读 2015-06-02 13:08:51
    bash shell 连接socket exec 8(写)方式,打开127.0.0.1的tcp11211端口 ls -l /proc/self/fd #查看打开的连接8 echo -e "stats" >&8 #向socket写入数据 cat exec 8
  • Linux Bash Shell编程(一):Shell概述与Hello World实现 Shell 概述   Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止并...
  • bash shell实现并发多进程操作

    千次阅读 2018-07-03 09:50:20
    前言目前我掌握的基本语言,php(最为熟悉,项目里代码都是用其实现),bash shell(运维利器),c(acm专用),这里面能实现多线程的貌似只有c,但是我c只是用来学习和实现算法和数据结构,因此工作中我想要模拟多...
  • bash shell小技巧

    2011-04-22 16:47:00
    记录一些bash shell操作小技巧
  • bash shell 中if的用法

    千次阅读 2019-02-26 23:56:18
    条件判断的写法 [ 条件表达式 ] [[ 条件表达式 ]] ...这里提一下bash shell中一些需要注意的东西 1整数比较 -eq 表示 = -ne 表示 != -gt 表示 > -lt 表示 < -ge 表示 &gt
  • Bash SHELL 中文文档,最权威的中文文档,这个文档是pdf的,做的很精致, 是官方bash指南的中文版,非扫描版. 使用及其方便,是学习linux bash的必备工具书。
  • 在众多Linux发行版中bash shell 可谓是随处可见。作为众多发行版的首选shell,对于bash shell的学习对我们来说,显得格外重要。在学习bash shell的过程中,bash、sh、source及英文输入状态下的点号经常交替出现,...
  • Bash shell常见错误

    千次阅读 2012-02-07 10:31:56
    Linux上默认的shell是GNU bash(Bourne Again shell),这是一种增强版的Bourne shell,其扩展的特性不仅表现在编程级别上也表现在交互使用时,用户可以对自己的工作环境进行裁剪,建立快捷键以提高工作效率。...
  • bash shell脚本执行的几种方法

    千次阅读 2016-07-19 16:04:33
    bash shell脚本执行的几种方法 bash shell 脚本执行的方法有多种,本文作一个总结,供大家学习参考。  假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限。 ...
  • Bashshell脚本编程视频教程免费分享! 首先给大家介绍一下shell是什么?linux下有许多种shell可用。脚本必须和shell匹配,一种shell的脚本无法在其他shell下工作。bash是linux下的默认shell。而且bash(/bin/bash)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 67,719
精华内容 27,087
关键字:

bashshell