软件测试技术

当前位置:首页 > 软件测试技术

鸟哥的Linux私房菜 基础学习篇(第三版) 一些基础 Linux 问题 七

七. BASH SHELL

●简单说明bash shell的功能特征:

。命令记忆功能~/bash _history

。命令别名功能alias

。shell scripts功能.

。命令与文件名补全功能<tab>

。工作控制功能jobs

●在设定变量中,主要的规则为何?

1.变量与变量内容以等号来连结;

2.等号两边不能直接接空格符;

3.变量名称只能是英文字母与数字,但是数字不能是开头字符;

4.若有空格符可以使用双引号r"」或单引号I'J来将变量内容结合起来,但须要特别留意,双引号内可以保有变量,但是单引号则仅为-般字符;

5.必要时需要以跳脱字符「\J来将特殊符号(如Enter,$,\空格符,'等)变成- -般符号;

6.若该变量为扩增变量内容时,则需以双引号及$变量名称如: I "SPATH"/homeJ继续累加内容;

7.若该变量需要在其他子程序执行,则需要以export来使变量可以动作,如fexportPATH」;

8.通常大写字符为系统默认变量,自行设定变量可以使用小写字符,方便判断(纯粹依照使用者兴趣与嗜好) ;

9.取消变量的方法为: runset 变量名称J

显示环境变量与所有变量的指令为何?

env, set,

●在环境变量当中,「用户家目录.主机名」的变量名称为:

HOME, HOSTNAME

●如何让-个变量可以持续到下一一个程序(PID)去?

export varable

●在变量的设定当中,双引号与单引号有何不同?

双引号里面可以包含变量,单引号谨代表一般字符!

●Command1 command2'这个指令代表什么意思?

在这一行当中, command2会先执行,而输出的结果会给command1当作参数。

cd /ib/modules/ uname T /kernel是最常使用的-例

●在命令重导向当中,>与>>有什么不同?

>会将导向的file覆盖,

>>则是增加!

若要将错误的输出导向不见了」的装置,该如何是好?

command 2> /dev/null

●在管线指令中,我要将last输出的结果显示root的[登入次数」,如何做?

last| greproot|cut-d”"-f1|wc-|

如何设定一 个变量名称为name ,使其显示为「VBird' s teting variable.」?

> name=VBird\' s\ testing\ variable.

。name=" VBird' s testing variables."

。echo Sname

请问bash shell的环境变量与自己的个人变量可以登入便设定的档案?

。Open Linux:

/et/profile, /tcni.ghshells/bashrc, ~/ profile, -/.bashrc,

。RedHat:

/et/profile, ~/bash. profile, ~/ bashrc,

●如何查询曾经操作过的指令?如何执行第26个操作过的指令?上-一个操作过的指令?

。history

。!26

。!!

●如何设定命令别名?使Im与Is -llmore功能相同

alias Im=' Is -almore'

●如何将/bin的所有信息输出到/home/testing.dat这个档案?

Is -al /bin 1> /home/testing.dat

●在上一-题中,若还要输出到屏幕上,要如何是好?

Is -al /bin | tee /home/esting.dat

.执行find ,并将正确的结果输出到right而错误结果输出到error当中?

find/ -name test1> right 2> error

●如何在指令列模式中将/oot/bashrc的资料加在/home/coV .bashrc当中?

cat /root/ bashrc》> /home/col/bashrc

●不要显示执行的结果要如何是好?

command > /dev/null 2>$1

●列出这个月曾经登入主机的用户信息即可,不需要重复?

last|cutd"“-f1 |sort| uniq

通配符当中,*.?, 0]各代表什么意思?

。*代表0到无限多个字符;

。?代表-个任意字符;

。[]代表- 个字符,这个字符在某-个限制范围内。

七.1. SHELL SCRIPTS

●什么是shell scripts ? scripts 有何功用?

。简单的说,scripts 就是一个内部含有多个或复杂的command的纯文本档案;

> scripts可以进行program的功能,但速度上较C慢了点!

●要撰写可以经由键盘输入的scripts时,常使用到的指令?

read variable

●在shell script当中,在控制式中,&&与|I代表什么意思?

分别代表和(同时成立)」及「或(仅其- -成立就成立)」的意思!

.在使用循环的时候,常使用到的控制式为哪三个?

for, while, until

●执行scripts的方法有哪两种?

。使用sh script或

。以chmod增加scripts的属性为可执行, chmod 777 script并执行scripts.

●如何宣告一个变量成为整数型态?

declare -i variable

●为何在shell script前面都要宣告shell呢?

宣告shell方能让script了解该内容需要以何种shell来执行!目前Linux通常宣告/bin/bash

这个shell , 然而若在非shell环境中,又没有宣告shell类型时,可能会造成script无法执行的情况。

在判断式中,如何判断-个档名是否存在?

if [-e filename ]若存在则回传值为真!

●在执行-个scripts时,在scripts内的变量,$o, $1代表什么?

。$o代表scripts的檔名;

。$1代表第-个parameter ,例如/etc/r.d/init.d/xinetd start那个start的变数即为$1

若要写-一个既定的parameter (如start ) ,用哪-一个判断式较简单?

可以使用case .. Esac的语法较为简单。

如何印出目前系统中的所有账号,并加以排序且输出到/tmp/account中?

cut-d”-f1 /etc/passwd |sort > /tmp/account

如何在不执行scripts的情况中debug ?

sh -n scripts


相关内容

文章评论

表情

共 0 条评论,查看全部
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~