博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell面试题目总结
阅读量:6691 次
发布时间:2019-06-25

本文共 1383 字,大约阅读时间需要 4 分钟。

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

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

 

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

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

test.sh中脚本如下:

#!/bin/shecho $1 " is a " $2exit 0

执行的结果是: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 ]thenecho "File exists"fiexit 0

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

 

8.shell脚本中循环语法

for循环:

#!/bin/sh for i in $(ls)doecho item:$idoneexit 0

while循环:

#!/bin/sh counter=0while [ $counter -lt 5 ]doecho The counter is $counterlet counter=counter+1done

until循环

#!/bin/sh counter=10until [ $counter -lt 5 ]doecho The counter is $counterlet counter=counter-1done

 

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

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

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

 

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

echo ${variable:x:y}

x-起始位置

y-长度

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

 

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

在脚本中添加 “命令

 

转载于:https://www.cnblogs.com/wenf/p/6137509.html

你可能感兴趣的文章
用 PHP 读取文件的正确方法
查看>>
Authentication and Integration 第三篇:Oracle LDAP介绍
查看>>
我的友情链接
查看>>
路由器 交换机 摩登Modem的区别!
查看>>
Nagios+ PNP4nagios + rrdtool 监控平台建立
查看>>
linux 磁盘的分区
查看>>
windows手动启动mysql mysql.bat
查看>>
TCC型分布式事务原理和实现之:原理介绍
查看>>
配置outlook收发domino邮件
查看>>
用普通计算机假设基于liunx系统的NAS部署FineReport决策系统
查看>>
[精讲-5]BitLocker
查看>>
TensorFlow Serving在Kubernetes中的实践
查看>>
Python函数与类参数默认值陷阱
查看>>
SQLite数据类型
查看>>
CentOS7的SSH免秘钥认证
查看>>
jdbc连接数据库一般思路(MySql为例)
查看>>
SwaggerUI ASP.Net WebAPI2
查看>>
烂泥: KVM虚拟机Linux系统增加硬盘
查看>>
[Gerrit]Gerrit的安装及用户注册
查看>>
Error:Could not load SWT library
查看>>