1.如何理解shell脚本中第一行#!/bin/sh

#!为特殊的表示符,其后是解释此脚本的shell的路径。此脚本使用/bin/sh进行解释执行。

2.如何向脚本传递参数。

脚本名字 参数1 参数2 ...  例:test.sh wenf girl

test.sh中脚本如下:

#!/bin/sh
echo $ " is a " $
exit

执行的结果是:wenf  is a  girl

总结点:

A:传入脚本的参数分别用$1,$2,...表示传入的第一个,第二个...参数。

$0------脚本的名字。

$#------传递给脚本的总的参数个数

$?------上一句执行代码或者整个shell退出时的情况,正常则为0,异常则是非0

$$------本程序的进程ID号(PID)

$!------上一个命令的PID

$*------传递给程序的所有参数组成的字符串

$@------以“参数1”“参数2”...的形式保存所有的参数

3.命令行直接新建一个文件的方法

总结的方法有:

A:touch 文件名

B: vi 文件名

C nano -w 文件名

另外,比较常用的两个文本编辑器为vim ,emacs

4.如何获取文件的前n行,后n行

获取文件的前n行,head -n 文件名;获取文件的后n行,tail -n 文件名

5如何调试bash脚本

在脚本#!/bin/sh 插入参数-xv ,例:#!/bin/sh -xv

6.如何连接字符串,如何进行整数的相加计算

连接字符串:str3=$str1$str2 ;整数相加:let num3=$num1+$num2

7.如何检查文件系统中是否存在某个文件

#!/bin/sh
if [ -f ./testwenf.sh ]
then
echo "File exists"
fi
exit 0

检查文件系统中是否存在某个目录时:-d 目录名

8.shell脚本中循环语法

for循环:

#!/bin/sh
for i in $(ls)
do
echo item:$i
done
exit

while循环:

#!/bin/sh
counter=
while [ $counter -lt ]
do
echo The counter is $counter
let counter=counter+
done

until循环

#!/bin/sh
counter=
until [ $counter -lt ]
do
echo The counter is $counter
let counter=counter-
done

9.单引号与双引号有什么区别

单引号---当我们不希望把变量转换为值的时候使用它。

双引号---会计算所有变量的值并用值代替。

10.如何只用echo命令获取字符串变量的一部分

echo ${variable:x:y}

x-起始位置

y-长度

variable="My name is Petras, and I am developer."
echo ${variable::} # 会显示 Petras

11.如何在脚本文件中重定向标准输出和标准错误流到log.txt文件中

在脚本中添加 “命令

shell面试题目总结的更多相关文章

  1. PHP面试题目搜集

    搜集这些题目是想在学习PHP方面知识有更感性的认识,单纯看书的话会很容易看后就忘记. 曾经看过数据结构.设计模式.HTTP等方面的书籍,但是基本看完后就是看完了,没有然后了,随着时间的推移,也就渐渐忘 ...

  2. 经典面试题目——250M内存处理10G大小的log文件

    前言 周末逛知乎的时候,看到的一个经典面试题目:http://www.zhihu.com/question/26435483.非常经典的一道分而治之的题目. 题目描写叙述例如以下: 有次面试遇到一个问 ...

  3. C++程序员面试题目总结(涉及C++基础、多线程多进程、网络编程、数据结构与算法)

     说明:C++程序员面试题目总结(涉及C++基础知识.多线程多进程.TCP/IP网络编程.Linux操作.数据结构与算法) 内容来自作者看过的帖子或者看过的文章,个人整理自互联网,如有侵权,请联系作者 ...

  4. linux面试题目—2

    linux面试题目—2 二 选择题 1.关闭linux系统(不重新启动)可使用命令 B . A Ctrl+Alt+Del B halt C shutdown -r now D reboot 2.实现从 ...

  5. linux面试题目--1

    Linux面试题目 填空题1. 在Linux系统中,以 (文件)方式访问设备 .2. Linux内核引导时,从文件/etc/fstab 中读取要加载的文件系统.3. Linux文件系统中每个文件用i节 ...

  6. BAT网络运维常见面试题目总结

    BAT常见面试题目总结 Author:Danbo 2015-7-11 TCP/IP详解鸟哥Linux的书网络安全ping的原理make的过程文件有哪些类型各种Linux发行版的区别.有关suid的作用 ...

  7. java常见面试题目(一)

    在大四实习阶段,秋招的时候,面试了很多家公司,总结常见的java面试题目:(答案可以自己百度) 1.你所用oracle的版本号是多少? 2.tomcat修改8080端口号的配置文件是哪个? 3.myb ...

  8. HTML/CS3相关面试题目

    一.HTML/CS3基本面试题目. 1. 常用那几种浏览器测试? 1.1浏览器:IE,Chrome(谷歌),FireFox(火狐),Safari(苹果计算机的最新操作系统Mac OS X中的浏览器,使 ...

  9. 总结CSS面试题目的考察点及常见布局问题整理

    整理网上流传的若干份面试题目,突发奇想,总结关于CSS面试题目的考察点,发现问题大多围绕几个属性和几种题目,水平有限,仅供参考. 写这个博文内心有种莫名奇妙的自我谴责感,实在不应该把面试层叠样式“应试 ...

随机推荐

  1. 卸载 ibus 使Ubuntu16.04任务栏与启动器消失 问题解决

    经查证是unity误卸载了,我使用了命令: sudo apt-get remove --purge ibus 解决方法是: 使用以下命令:重置compiz: dconf reset -f /org/c ...

  2. 剪短的python数据结构和算法的书《Data Structures and Algorithms Using Python》

    按书上练习完,就可以知道日常的用处啦 #!/usr/bin/env python # -*- coding: utf-8 -*- # learn <<Problem Solving wit ...

  3. 优雅的数组降维——Javascript中apply方法的妙用

    将多维数组(尤其是二维数组)转化为一维数组是业务开发中的常用逻辑,除了使用朴素的循环转换以外,我们还可以利用Javascript的语言特性实现更为简洁优雅的转换.本文将从朴素的循环转换开始,逐一介绍三 ...

  4. CozyRSS开发记录6-继续补全订阅内容栏

    CozyRSS开发记录6-继续补全订阅内容栏 1.订阅内容栏布局 按照之前的原型图,把订阅内容栏分成三块.Xaml如下: 2.照葫芦画瓢,完成头部和列表 头部依然使用ColorZone,右侧再放两个按 ...

  5. 初学微信小程序

    最近微信推出了微信小程序,为此我学了几天,基本了解了组件及简单语法,但是今天我自己想要独立写一个demo时,忽然发现难道我的不是微信小程序的语法(我以前是iOS 开发,不用css),而是css样式的设 ...

  6. HttpWatch的时间分析

    HttpWatch的时间段捕捉详解 这是一个IE的插件,下载可以点这里.下载后解压如下图所示,一共有4个文件.HttpWatch Professional是单独软件,可以单独使用. 解压后有四个文件 ...

  7. MySQL - 问题集 - 触发器更新本表数据异常"Can’t update table ‘tbl’ in stored function/trigger because it is already used by statement which invoked this"

    如果你在触发器里面对刚刚插入的数据进行了 insert/update, 则出现这个问题.因为会造成循环的调用. create trigger test before update on test fo ...

  8. IDF实验室:倒行逆施

    简单的PE文件逆向(.exe-IDA) 下载下来文件之后发现是一个exe文件,运行以后发现.

  9. Chart图表

    这东西挺直观 封装个类 public class aaa { private string name; public string Name { get { return name; } set { ...

  10. [spring源码学习]一、IOC简介

    一.程序实例 假设一个简单地实例,我们有一个人,人可能有姓名,年龄等属性,每天上下班的时候需要坐车,他可能做小轿车,suv等,这样一个场景.我们很容易想到如下代码: 1.人的对象类,包括两个属性,姓名 ...