shell面试题目总结
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面试题目总结的更多相关文章
- PHP面试题目搜集
搜集这些题目是想在学习PHP方面知识有更感性的认识,单纯看书的话会很容易看后就忘记. 曾经看过数据结构.设计模式.HTTP等方面的书籍,但是基本看完后就是看完了,没有然后了,随着时间的推移,也就渐渐忘 ...
- 经典面试题目——250M内存处理10G大小的log文件
前言 周末逛知乎的时候,看到的一个经典面试题目:http://www.zhihu.com/question/26435483.非常经典的一道分而治之的题目. 题目描写叙述例如以下: 有次面试遇到一个问 ...
- C++程序员面试题目总结(涉及C++基础、多线程多进程、网络编程、数据结构与算法)
说明:C++程序员面试题目总结(涉及C++基础知识.多线程多进程.TCP/IP网络编程.Linux操作.数据结构与算法) 内容来自作者看过的帖子或者看过的文章,个人整理自互联网,如有侵权,请联系作者 ...
- linux面试题目—2
linux面试题目—2 二 选择题 1.关闭linux系统(不重新启动)可使用命令 B . A Ctrl+Alt+Del B halt C shutdown -r now D reboot 2.实现从 ...
- linux面试题目--1
Linux面试题目 填空题1. 在Linux系统中,以 (文件)方式访问设备 .2. Linux内核引导时,从文件/etc/fstab 中读取要加载的文件系统.3. Linux文件系统中每个文件用i节 ...
- BAT网络运维常见面试题目总结
BAT常见面试题目总结 Author:Danbo 2015-7-11 TCP/IP详解鸟哥Linux的书网络安全ping的原理make的过程文件有哪些类型各种Linux发行版的区别.有关suid的作用 ...
- java常见面试题目(一)
在大四实习阶段,秋招的时候,面试了很多家公司,总结常见的java面试题目:(答案可以自己百度) 1.你所用oracle的版本号是多少? 2.tomcat修改8080端口号的配置文件是哪个? 3.myb ...
- HTML/CS3相关面试题目
一.HTML/CS3基本面试题目. 1. 常用那几种浏览器测试? 1.1浏览器:IE,Chrome(谷歌),FireFox(火狐),Safari(苹果计算机的最新操作系统Mac OS X中的浏览器,使 ...
- 总结CSS面试题目的考察点及常见布局问题整理
整理网上流传的若干份面试题目,突发奇想,总结关于CSS面试题目的考察点,发现问题大多围绕几个属性和几种题目,水平有限,仅供参考. 写这个博文内心有种莫名奇妙的自我谴责感,实在不应该把面试层叠样式“应试 ...
随机推荐
- redis 密码配置
http://blog.csdn.net/vtopqx/article/details/46833099 http://www.2cto.com/database/201412/365757.html ...
- 【Java EE 学习 28 下】【Oracle面试题2道】【Oracle练习题3道】
一.已知程序和数据 create table test1 (id int primary key, name ), money int); ,); ,); ,); ,); 要求根据下图写出相应的sql ...
- Mybatis 学习笔记1 不整合Spring的方式使用mybatis
两种方式都包含了: package com.test.mybatis; import java.util.List; import org.apache.ibatis.io.Resources; im ...
- GO语言中json与map的转换
直接上代码(需要引入encoding/json包) // 当前程序的包名 package main // 导入其它的包 import ( "encoding/json" " ...
- 在ionic这个框架下(Angular JS),对URL进行重写,过滤掉URL中的#号
此时URL的改变已经完全不受后台代码控制了,因此我们要在前端的ionic这个框架和IIS中进行修改调控. 其实IIS只是host了整个站点,具体的URL跳转都是由前端来控制的. 1):那么前端要加上一 ...
- Vue#组件
组件: 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能. 使用: ...
- MyBabis 用法详解
MyBatis 一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架(消除了几乎所以得JDBC代码和参数的手工设置及结果集的检索) MyBatis可以使用简单的XML或注解用于配置和原始映射,将 ...
- 前台json 的一些 处理 (转)
JS解析json数据并将json字符串转化为数组的实现方法 转自(http://www.jb51.net/article/32795.htm) <!DOCTYPE HTML PUBLIC &qu ...
- Daily Scrum Meeting ——FourthDay
一.Daily Scrum Meeting照片 橙汁去北京参加 ICPC比赛了,差不多15号回来 二.Burndown Chart 终于不是一条直线了..
- 通过TStringList保存csv文件,只要循环.Add表格里面的每行记录进去,保存即可
dlgSave := TSaveDialog.Create(nil); dlgSave.filter := 'CSV文件|*.CSV'; dlgSave.DefaultExt := '*.CSV'; ...