Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ###一、Shell脚本是什么、它是必需的吗?
- 一个Shell脚本是一个文本文件,包含一个或多个命令。作为系统管理员,我们经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令在一个文本文件(Shell脚本)来完成这些日常工作任务。
- ###二、什么是默认登录shell,如何改变指定用户的登录shell?
- 在Linux操作系统,“/bin/bash”是默认登录shell,是在创建用户时分配的。使用chsh命令可以改变默认的shell。示例如下所示:
- `chsh <username> -s <shell>`
- ###三、可以在shell脚本中使用哪些类型的变量?
- 可以定义如下两种类型的变量
- ```
- 系统定义变量
- 用户定义变量
- ```
- ###四、如何将标准输出和错误输出同时重定向到同一位置?
- 可以有两种实现方法:
- ```
- 2>&1
- &>
- ```
- ###五、shell脚本中”if”语法如何嵌套?
- 示例如下:
- ```bash
- if [ 条件 ] then;
- command ...
- else
- if [ 条件 ] then;
- command...
- else
- command...
- fi
- fi
- ```
- ###六、shell脚本中”$?”标记的用途是什么?
- “$?”可以来检查前一命令的结束状态,通常”0”表示成功,”1-255”表示运行失败
- ###七、在shell脚本中如何比较两个数字 ?
- 可以使用-gt 、 -lt`` 、-ne、-eq`来进行比较。
- ###八、shell脚本中break命令的作用 ?
- break命令一个简单的用途是退出执行中的循环。我们可以在while和until循环中使用break命令跳出循环
- ###九、shell脚本中continue命令的作用 ?
- continue命令不同于break命令,它只跳出当前循环的迭代,而不是整个循环。continue命令很多时候是很有用的,例如错误发生,但我们依然希望
- ###十、如何执行一个脚本?
- 通常赋予脚本执行权限或使用bash命令调用,如下所示:
- ```
- chmod +x script.sh
- bash script.sh
- ```
- ###十一、脚本的基本格式?
- 如下格式:
- ```
- #!/bin/bash
- #
- #auther: magedu
- #description:This is scripts
- 脚本主体
- ```
- ###十二、如何调试shell脚本?
- 通常使用bash 命令中 -x参数来执行脚本,如下格式:
- ```
- bash -x script.sh
- ```
- ###十三、shell脚本如何比较字符串?
- 如下格式:
- ```
- #!/bin/bash
- A="mageu"
- B="magedu"
- [[ "$A" == "$B" ]] && echo "字符串相同" || echo "字符串不同"
- ```
- ###十四、bash中有哪些特殊变量?
- ```
- $0 : 命令行中的脚本名字
- $1..$9 : 脚本可接受的参数个数
- $# : 命令行参数的数量
- $* : 所有命令参数,转换为一个字符串
- $@ : 所有命令参数,转换为一个字符串
- ```
- ###十五、脚本中如何测试文件?
- ```
- -d : 文件是否存在且是目录
- -e : 文件是否存在
- -f : 文件是否存在且是普通文件
- -r : 文件存在且是否可读
- -s : 文件存在且不为空
- -w : 文件存在且可写
- -x : 文件存在且可执行
- ```
- 十六、脚本中如何得到来自用户终端的输入值?
- 如下示例:
- ```
- #!/bin/bash
- #
- #auther: mage team
- #
- read -p "Please Enter Your Chooice: " STR
- echo "${STR}
- ```
- ###十七、如何撤消变量或取消变量的值?
- ```
- unset VAR
- VAR=
- ```
- ###十八、bash中如何进行算术运算?
- 有如下三种方法:
- ```
- let i++
- expr 1 + 2
- $[ 2 + 3]
- $(($num1 + $num2))
- ```
- ###十九、如何定义一个函数?
- 方法一:
- ```
- func_name() {
- func body
- ...
- }
- ```
- 方法二:
- ```
- function func_name(){
- func body
- ...
- }
- ```
- ###二十、如何在shell脚本中使用BC计算器?
- ```
- VAR=$(echo "options;expression" | bc)
- ```
- ###二十一、如何查看所有的非打印字符?
- 如下操作步骤
- ```
- 使用vim工具打开文本;
- 使用ESC + : ,进入命令模式;
- 输入set list
- ```
- ###二十二、如何向脚本传递一个信号?
- 使用trap命令来获取,如下格式:
- ```
- #!/bin/bash
- # auther: mage team
- trap 'echo "quit";exit1' INT
- ```
- ###二十三、如何定义一个数组?
- 有如下方式:
- ```
- declare -a NAME : 申明一个索引数组
- declare -A NAME : 申明一个关联数组
- ```
- ###二十四、如何计算一个数组的元素个数?
- 可以使用如下方式来引用:
- ```
- ${#ARRAY_NAME[*]}
- ${#ARRAY_NAME[@]}
- ```
- 可以在脚本中计算
- ```
- #!/bin/bash
- # auther : mage team
- #
- file_list=(`ls /www/log/access_log/`)
- NUM= $[ ${#file_list[*]} - 1 ]
- echo "$NUM"
- ```
- ###二十五、如何引用一个变量?
- 有如下两种方式:
- ```
- $VAR_NAME
- ${VAR_NAME}
- ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement