Shell

Shell 脚本面试问题大全

我们为你的面试准备选择了 70 个你可能遇到的 shell 脚本面试问题及解答。了解脚本或至少知道基础知识对系统管理员来说至关重要,它也有助于你在工作环境中自动完成很多任务。在过去的几年里,我们注意到所有的 linux 工作职位都要求脚本技能。 1) 如何向脚本传递参数 ? ./script argument 例子 : 显示文件名称脚本 ./show.sh file1.txt cat show.sh #!/bin/bash cat $1 2) 如何在脚本中使用参数 ? 第一个参数 : $1,第二个参数 : $2 例子 : 脚本会复制文件(arg1) 到目标地址(arg2) ./copy.sh file1.txt /tmp/ cat copy.sh #!/bin/bash
2015-06-12
5分钟阅读时长

Shell脚本编程初体验

通常,当人们提到shell脚本语言时,浮现在他们脑海中是bash,ksh,sh或者其它相类似的linux/unix脚本语言。脚本语言是与计算机交流的另外一种途径。使用图形化窗口界面(不管是windows还是linux都无所谓)用户可以移动鼠标并点击各种对象,比如按钮、列表、选框等等。但这种方式在每次用户想要计算机/服务器完成相同任务时(比如说批量转换照片,或者下载新的电影、mp3等)却是十分不方便。要想让所有这些事情变得简单并且自动化,我们可以使用shell脚本。 某些编程语言,像pascal、foxpro、C、java之类,在执行前需要先进行编译。它们需
2015-06-09
12分钟阅读时长

Shell入门:掌握Linux,OS X,Unix的Shell环境

在Linux或类Unix系统中,每个用户和进程都运行在一个特定环境中。这个环境包含了变量、设置、别名、函数以及更多的东西。下面是对Shell环境下一些常用命令的简单介绍,包括每个命令如何使用的例子,以及在命令行下设定你自己的环境来提高效率。 找出你当前的shell 在终端应用中输入下面命令中的任意一个: ps $$ ps -p $$ 或者 echo "$0" 输出范例: 图1:找出当前的shell 找出所有已安装的shell 找到已安装shell的完整路径: type -a zsh type -a ksh type -a sh type -a bash 输出范例: 图2:找出shell的路径 文件/etc/shells里
2015-03-31
10分钟阅读时长

Linux有问必答:如何在脚本中获取进程ID(PID)

提问: 我想要知道运行中脚本子shell的进程id。我该如何在shell脚本中得到PID。 当我在执行shell脚本时,它会启动一个叫子shell的进程。作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为批处理进程)。 在某些情况下,你也许想要知道运行中的子shell的PID。这个PID信息可以在不同的情况下使用。比如,你可以使用shell脚本的PID在/tmp下创建一个唯一的临时文件。有时侯脚本需要检测所有运行的进程,它可以从进程列表中排除自身的子shell。 在bash中,子shell进程的PID存储在一个特殊的变量$$中。这个变量只读,
2015-03-13
2分钟阅读时长

如何在shell脚本中使用变量

在每种编程语言中,变量都扮演了一个重要的角色。在Linux shell脚本编程中,我们使用两种类型的变量:系统定义的变量和用户定义的变量。 shell脚本中的变量是用来调用一个数值或者字符值的手段。与正规的编程语言不同的是,shell脚本不要求你去为变量声明一个类型。 在本文中,我们将讨论shell脚本编程中的变量及其类型,以及如何设置和使用这些变量。 系统定义的变量: 这些变量由操作系统(Linux)自身创建并维护,通常它们以大写字母定义,我们可以通过命令$ set来查看这些变量。下面列出了部分系统定义的变量: 系统定义的变量
2014-09-16
4分钟阅读时长

如何在linux上分享你shell命令的输出

前段时间我发布了一篇关于shelr.tv这个网站的文章,它提供一个服务允许你从网站上直接分享你的终端记录。现在shelr.tv这个网站似乎关闭了,然后我四处寻找是否有类似的网站,于是我发现了commands.com。从它的主页上来看,它的服务和其他网站提供的服务是类似的,因此让我们来测试它。步骤 1 – 在网站上注册
2014-09-15
3分钟阅读时长

Linux:使用bash删除目录中的特定文件

我是一名Linux新用户。现在我需要清理一个下载目录中的文件,其实我就是想从~/Download/文件夹删去除了以下格式的文件外所以其它文件: *.iso - 所有的iso格式的文件。 *.zip - 所有zip格式的文件。 我如何在一个基于Linux,OS X 或者 Unix-like 系统上的bash shell中删除特定的文件呢? Bash shell 支持丰富的文件模式匹配符例如: * - 匹配所有的文件。 ? - 匹配文件名中的单个字母。 - 匹配封闭括号中的任何一个字母。 策略 #1: 见识一下扩展的模式匹配符 这里你需要用系统内置的shopt命令来开启shell中的extglob选项,然后
2014-06-24
3分钟阅读时长