b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

shell脚本for循环 鸟哥的linux私房菜(2)

电脑杂谈  发布时间:2018-01-07 20:06:31  来源:网络整理

<==确认了,这两个变量并不存在喔!

[dmtsai@study bin]$ sh showname.sh

Please input your first name: VBird <==这个名字是鸟哥自己输入的

Please input your last name: Tsai

Your full name is: VBird Tsai <==看吧!在 script 运作中,这两个变数有生效

[dmtsai@study bin]$ echo ${firstname} ${lastname}

<==事实上,这两个变量在父程序的 bash 中还是不存在的!

利用 source 来执行脚本:在父程序中执行

source 对 script 的执行方式会在父程序中执行的,因此各项动作都会在原本的 bash 内生效!这也是为啥你不注销系统而要让某些写入 ~/.bashrc 的设定生效时,需要使用『 source ~/.bashrc 』而不能使用『 bash ~/.bashrc 』是一样的

范例

[dmtsai@study bin]$ source showname.sh

Please input your first name: VBird

Please input your last name: Tsai

Your full name is: VBird Tsai

[dmtsai@study bin]$ echo ${firstname} ${lastname}

VBird Tsai <==嘿嘿!有数据产生喔!

13.3 善用判断式

13.3.1利用test命令测试功能

当我要检测系统上面某些文件或者是相关的属性时,利用 test 这个指令

例子:检查 /dmtsai 是否存在时

> test -e /dmtsai

执行结果并不会显示任何讯息,但最后我们可以透过 $? 或 && 及 || 来展现整个结果,

例如我

们在将上面的例子改写成这样:

> test - - e /dmtsai && echo "exist" || echo "Not exist"

其他参数:

1. 关于某个档名的『文件类型』判断,如 test -e filename 表示存在否

-e :该『档名』是否存在?(常用)

-f: 该『档名』是否存在且为文件(file)?(常用)

-d :该『文件名』是否存在且为目录(directory)?(常用)

-b :该『档名』是否存在且为一个 block device 装置?

-c :该『档名』是否存在且为一个 character device 装置?

-S :该『档名』是否存在且为一个 Socket 文件?

-p :该『档名』是否存在且为一个 FIFO (pipe) 文件?

-L :该『档名』是否存在且为一个连结档?

2. 关于文件的权限侦测,如 test -r filename 表示可读否 (但 root 权限常有例外)

-r: 侦测该档名是否存在且具有『可读』的权限?

-w :侦测该档名是否存在且具有『可写』的权限?

-x :侦测该档名是否存在且具有『可执行』的权限?

-u: 侦测该文件名是否存在且具有『SUID』的属性?

-g: 侦测该文件名是否存在且具有『SGID』的属性?

-k :侦测该文件名是否存在且具有『Sticky bit』的属性?

-s :侦测该档名是否存在且为『非空白文件』?

3. 两个文件之间的比较,如: test file1 -nt file2


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-58905-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...