我们精选了70道你可能会遇到的shell脚本面试问题和答案,用于面试准备。了解脚本,或者至少了解基础知识,对于系统管理员来说是必不可少的,它还可以帮助您在工作环境中自动执行许多任务。在过去的几年里,我们注意到所有的Linux工作都需要脚本技能。1)如何给脚本传递参数?例子:显示文件名脚本2)如何在脚本中使用参数?第一个参数:$1,第二个参数:$2例子:脚本将文件(arg1)复制到目标地址(arg2)3)如何计算传入的参数?4)如何获取脚本中的脚本名称?5)如何查看之前的命令是否运行成功?6)如何获取文件的最后一行?7)如何获取文件的第一行?8)如何获取文件每一行的第三个元素?9)如果文件中每一行的第一个元素是FIND,如何获取第二个元素10)如何调试bash脚本将-xv参数添加到#!/bin/bash之后的示例:11)如何将函数编写为一个例子?需要C/C++Linux服务器架构师学习资料加群812855908(资料包括C/C++、Linux、golang技术、Nginx、ZeroMQ、MySQL、Redis、fastdfs、MongoDB、ZK、流媒体、CDN、P2P、K8S、Docker、TCP/IP、协程、DPDK、ffmpeg等),自由分享12)如何连接两个字符串?输出13)如何将两个整数相加?输出:314)如何检查文件系统中是否存在文件?15)写出shell脚本中所有的循环语法?for循环:while循环:直到循环:16)#!/bin/sh或#!在每个脚本的开头/bin/bash是什么意思?此行指定要使用的shell。#!/bin/bash表示脚本使用/bin/bash作为python脚本,即#!/usr/bin/python。(LCTT译注:此线称为石板线。17)如何获取文本文件的第10行?18)bash脚本文件的第一个符号是什么19)命令的输出是什么:[-z""]&&echo0||echo120)命令“export”有什么用?使变量在子shell中可用。21)如何在后台运行脚本?在脚本后添加“&”。22)“chmod500脚本”是做什么的?使脚本所有者可执行。23)“>”是做什么的?将输出流重定向到一个文件或另一个流。24)&和&&有什么区别●&-当你想让脚本在后台运行时使用它●&&-在执行下面的命令/脚本之前,在前面的脚本成功完成时使用它25)应该什么时候在[条件]“如果”之前使用?当满足一个条件时需要运行多个命令。26)命令的输出是什么:name=John&&echo'Mynameis$name'27)bashshell脚本中的哪个符号用于注释?28)命令的输出是什么:echo${new:-variable}29)'和"引号之间有什么区别?●'-当我们不想将变量转换为值时使用它。●"-将评估所有变量并用值替换它们。30)如何在脚本文件中将标准输出和标准错误流重定向到log.txt文件?在脚本文件中添加“exec>log.txt2>&1”命令。31)如何使用echo命令只获取字符串变量的一部分?示例:32)如果给定字符串变量="User:123:321:/home/dir",如何使用echo命令仅获取home_dir?33)如何从Get"User"从上面的字符串中得到home_dir?34)如何使用awk列出UID小于100的用户?35)编写程序计算用户的主要组数并显示数量和组名36)如何在bashshell中更改标准域分隔符是“:”?37)如何获得可变长度?38)如何打印变量的最后5个字符?39)${variable:-10}和${variable:-10}有什么区别?${variable:-10}-如果之前没有给变量赋值,则输出10;如果有赋值则输出变量${variable:-10}-输出变量的最后10个字符40)如何用echo命令只替换部分字符串?41)哪个命令将命令替换为大写?42)如何计算本地用户数?wc-l/etc/passwd|cut-d""-f1orcat/etc/passwd|wc-l43)不用wc命令如何计算字符串中的字数?44)“export$variable”和“exportvariable”哪个是正确的?45)如何列出第二个字母为a或b的文件?46)如何将整数a与b相加并赋值给c?三种方法47)如何去除字符串中的所有空格?48)重写此命令以将输出变量转换为复数:item="car";echo"我喜欢$item"?49)写出从0到100为3的倍数(0369...)的输出数命令?50)如何打印传递给脚本的所有参数?51)[$a==$b]和[$a-eq$b]有什么区别●[$a==$b]-用于字符串比较●[$a-eq$b]-用于数字比较52)=和==有什么区别●=-用于给变量赋值==-用于字符串比较53)写一个命令来测试$a是否大于12?54)写一个命令来测试$b是否小于或等于12?55)如何检查字符串是否以字母“abc”开头?56)[[$string==abc*]]和[[$string=="abc*"]]之间有什么区别[[$string==abc*]]-检查字符串是否以字母abc开头[[$string=="abc"]]-检查字符串是否完全等于abc57)如何列出以ab或xy开头的用户名?58)$在bash中有什么作用!意思是?最近在后台执行的命令的PID。59)$是什么?意思是?前台最近一条命令的结束状态60)如何输出当前shell的PID?将传递给脚本的所有参数输出为字符串$@-使用$IFS作为分隔符列出传递给脚本的所有参数62)如何在bash中定义数组?63)如何打印数组的第一个元素?64)如何打印数组的所有元素?65)如何输出所有的数组索引?66)如何删除数组中索引为2的元素?67)如何在数组中添加id为333的元素?68)shell脚本如何获取输入值?a)通过参数b)通过读取命令69)如何在脚本中使用“expect”?
