shell基础
2016-08-07 10:50
281 查看
一、Shell脚本是什么、它是必需的吗?
一个Shell脚本是一个文本文件,包含一个或多个命令。作为系统管理员,我们经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令在一个文本文件(Shell脚本)来完成这些日常工作任务。
二、什么是默认登录shell,如何改变指定用户的登录shell?
在Linux操作系统,“/bin/bash”是默认登录shell,是在创建用户时分配的。使用chsh命令可以改变默认的shell。示例如下所示:chsh <username> -s <shell>
三、可以在shell脚本中使用哪些类型的变量?
可以定义如下两种类型的变量系统定义变量
用户定义变量
四、如何将标准输出和错误输出同时重定向到同一位置?
可以有两种实现方法:2>&1
&>
五、shell脚本中”if”语法如何嵌套?
示例如下:
if [ 条件 ] then; command ... else if [ 条件 ] then; command... else command... fi fi
六、shell脚本中"$?"标记的用途是什么?
“$?”可以来检查前一命令的结束状态,通常”0”表示成功,”1-255”表示运行失败
七、在shell脚本中如何比较两个数字 ?
可以使用[code]-gt、
-lt`` 、-ne
、-eq`来进行比较。[/code]
八、shell脚本中break命令的作用 ?
break命令一个简单的用途是退出执行中的循环。我们可以在while和until循环中使用break命令跳出循环
九、shell脚本中continue命令的作用 ?
continue命令不同于break命令,它只跳出当前循环的迭代,而不是整个循环。continue命令很多时候是很有用的,例如错误发生,但我们依然希望
十、如何执行一个脚本?
通常赋予脚本执行权限或使用bash命令调用,如下所示:
chmod +x script.sh
bash script.sh
十一、脚本的基本格式?
如下格式: [code]#!/bin/bash # #auther: magedu #description:This is scripts 脚本主体
十二、如何调试shell脚本?
通常使用bash 命令中 [code]-x参数来执行脚本,如下格式:[/code]
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
二十二、如何向脚本传递一个信号?
使用[code]trap命令来获取,如下格式:[/code]
#!/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
相关文章推荐
- Linux 基础 Shell
- shell入门基础
- shell基础五:输入和输出(echo,read,cat,管道,tee,重定向等)
- shell基础二:查找技巧,find及xargs的使用
- shell基础八:文本过滤工具(grep)
- shell基础三和四:后台(crontab,at,&,nohup)及(*,?,[]等)
- shell基础十:sed
- Linux 基础短训内容之系统启动和登录shell
- shell基础一:文件安全与权限
- 转chinaunix wingger shell基础十二篇
- shell基础
- shell入门基础必备
- shell基础一:文件安全与权限
- Linux下Shell基础知识简介
- Shell编程基础
- shell入门基础
- shell入门基础必备
- shell基础11:文件分类、合并和分割(sort,uniq,join,cut,paste,split)
- shell基础六和七:执行顺序(||及&&,{}及())及正则表达式
- shell基础11:文件分类、合并和分割(sort,uniq,join,cut,paste,split)