c语言大括号的用法

2017-03-20

大括号{}出现在shell脚本的各个角落,其用法也各有不同。同音多义字在汉语中最容易让人混淆,而大括号也正是bash语言中的“同音多义字”。下面小编就为大家介绍c语言大括号的用法。

{}第一种用法,符号扩展

#!/bin/bash

echo "{hello,world}"

####################

# 输出为:"hello" "world"

####################

echo {a..c} #只能是..

###################

# 输出为: a b c

###################

{}第二种用法,代码块表示法,与c语言中的作用相似,c语言中,有了{}的代码块,其变量作用域就改变了;bash中,却不存在这个功能,在{}中的内容,仍然与外部变量名相通。此外,{}代码块表示法还有一个作用,就是将代码块内所有的输入输出信息重定向。

#脚本1

#!/bin/bash

a=123

{ a=321; } #大括号两边内部变量与大括号之间一定要用空格隔开

echo "a = $a " #输出 a=321

#脚本2

#!/bin/bash

File="`pwd`/fas" #fas是由自己在当前目录创建的文件

{

read line1

read line2

} < $File #此处进行重定向,将fas文件的内容读入到line1和line2

echo "First line in $File is: "

echo "$line1"

echo

echo "second line in $File is :"

echo "$line2"

exit 0

与大括号{}有些相似的符号是圆括号()。但圆括号()内的代码将启动一个子shell来运行,{}不会这样。

#!/bin/bash

a=123

( a=321; )

echo "a = $a" #a=123

附注:

1.如果想让你的脚本像ls等命令一样通用,那么需要将命令复制到/usr/local/bin,并使用chmod 777 filename修改其执行权限。

2./bin目录、/sbin目录、/usr/local/bin/目录、/usr/local/sbin目录、/usr/bin目录、/usr/sbin目录的区别与联系

最需要注意的一点,usr不是user的意思,而是unix system resource的简称,也就是unix系统资源。在/usr这个目录下,放了一些系统

相同之处:都是一些命令;

不同之处:

/bin:基本命令

/sbin:基本系统命令

/usr/bin:与/bin类似,包括此后安装软件的命令

/usr/sbin:与/sbin类似,包括此后增加的系统管理的一些命令

/usr/local/bin:与/bin,/usr/bin类似,但是局部(local)范围,linux是多用户系统,有分级的权限,有些软件内容必须添加在/usr/local/bin,而不是/usr

/usr/local/sbin:同上

3.好脚本需要珍藏,以备不时之需。

更多相关阅读

最新发布的文章