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. redis 密码配置

    http://blog.csdn.net/vtopqx/article/details/46833099 http://www.2cto.com/database/201412/365757.html ...

  2. 【Java EE 学习 28 下】【Oracle面试题2道】【Oracle练习题3道】

    一.已知程序和数据 create table test1 (id int primary key, name ), money int); ,); ,); ,); ,); 要求根据下图写出相应的sql ...

  3. Mybatis 学习笔记1 不整合Spring的方式使用mybatis

    两种方式都包含了: package com.test.mybatis; import java.util.List; import org.apache.ibatis.io.Resources; im ...

  4. GO语言中json与map的转换

    直接上代码(需要引入encoding/json包) // 当前程序的包名 package main // 导入其它的包 import ( "encoding/json" " ...

  5. 在ionic这个框架下(Angular JS),对URL进行重写,过滤掉URL中的#号

    此时URL的改变已经完全不受后台代码控制了,因此我们要在前端的ionic这个框架和IIS中进行修改调控. 其实IIS只是host了整个站点,具体的URL跳转都是由前端来控制的. 1):那么前端要加上一 ...

  6. Vue#组件

    组件: 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能. 使用: ...

  7. MyBabis 用法详解

    MyBatis 一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架(消除了几乎所以得JDBC代码和参数的手工设置及结果集的检索) MyBatis可以使用简单的XML或注解用于配置和原始映射,将 ...

  8. 前台json 的一些 处理 (转)

    JS解析json数据并将json字符串转化为数组的实现方法 转自(http://www.jb51.net/article/32795.htm) <!DOCTYPE HTML PUBLIC &qu ...

  9. Daily Scrum Meeting ——FourthDay

    一.Daily Scrum Meeting照片 橙汁去北京参加 ICPC比赛了,差不多15号回来 二.Burndown Chart 终于不是一条直线了..

  10. 通过TStringList保存csv文件,只要循环.Add表格里面的每行记录进去,保存即可

    dlgSave := TSaveDialog.Create(nil); dlgSave.filter := 'CSV文件|*.CSV'; dlgSave.DefaultExt := '*.CSV'; ...