shell脚本括号
㈠ linux shell脚本 :PACKAGE=${2:"文件"} 是什么意思
如果参数2已被赋值,则将参数2的值赋给变量PACKAGE;如果参数2没被赋值,则以一个错误信息“文件”终止当前脚本。
㈡ shell脚本编译时总是提示左括号那出错
if [[ ssss=[Nn]o? ( dsa|t really) ]]
哪个shell可以支持这个语法,在字符比较的等号中用上正则表达式?
㈢ shell脚本主要有哪些
第一个shell脚本程序:
#!/bin/bash
# 上面中的 #! 是一种约定标记, 它可以告诉系统这个脚本需要什么样的解释器来执行;echo "Hello, world!"
变量:
定义变量:
country="China"Number=100
注意: 1,变量名和等号之间不能有空格;
2,首个字符必须为字母(a-z,A-Z)。
3, 中间不能有空格,可以使用下划线(_)。
4, 不能使用标点符号。
5, 不能使用bash里的关键字(可用help命令查看保留关键字)。
使用变量:
只需要在一个定义过的变量前面加上美元符号$就可以了, 另外,对于变量的{} 是可以选择的, 它的目的为帮助解释器识别变量的边界.
country="China"echo $countryecho ${country}echo "I love my ${country}abcd!"
#这个需要有{}的;
重定义变量:直接把变量重新像开始定义的那样子赋值就可以了:
country="China"country="ribenguizi"
只读变量: 用 readonly 命令 可以把变量字义为只读变量。
readonly country="China"#或
country="China"readonly country
删除变量: 使用unset命令可以删除变量,但是不能删除只读的变量。用法:
unset variable_name
变量类型
运行shell时,会同时存在三种变量:
1) 局部变量
局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
2) 环境变量
所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
3) shell变量
shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行
特殊变量:
其中, 1. 取值后面必须为关键字 in,每一模式必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;。;; 与其他语言中的 break 类似,意思是跳到整个 case 语句的最后。2. 如果无一匹配模式,使用星号 * 捕获该值,再执行后面的命令。
㈣ shell中尖括号的意义 sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
不是尖括号,是输入输出重定向符号。
< $@.$$$$
> $@
sed中的替换方法:
sed 's/str1/str2/' <oldfile >newfile
或
sed 's/str1/str2/' oldfile >newfile
㈤ shell脚本中中括号不能用==号吗
能。先看我的,我再解释为什么你遇到这样的问题。
1)把下面的内容存为一个脚本文件,例如,我的a.sh如下(注意美元符$是系统提示符):
$ cat a.sh
#!/bin/bash
x=8
if [[ $x == 8 ]];then
echo 'yes'
else
echo 'no'
fi
2)给它加上执行权限:
$ chmod +x a.sh
3)看我的运行结果,说明中括号里面能用==号:
$ ./a.sh
yes
4)注意双等号的两边需要有空格,判别式与双中括号之间也需要空格。你可能没加空格,遇到了错误。把你的代码或者屏幕错误提示贴出来,大家就能更清晰地看到问题了。
供参考,谢谢!
㈥ 请教shell脚本中的方括号
shell脚本中的方括号,类似于[]这样的,相当于test命令。
也就是test命令的使用方法都适用 它。
㈦ 关于shell脚本的几个问题--if和产量替换 if的语法,中括号后面有没有分号变量替换字符串
if [ $asd == "asdasd" ];then
fi
这是标准语法
㈧ shell脚本中括号()有什么用
三种作用,根据上下文决定作用。
在条件表达式中作用类似c语言作用,单独作用fork子shell,定义数组
㈨ shell如何输出大括号
大括号在shell中有特殊的意义,输出一般需要转义,
使用转义字符\{ 或\} 就可以输出大括号
但有些地方不需要转义,如果转义会输出前面的转义字符。
是否需要转义可以通过测试进行判断。
㈩ shell编程中能用大括号吗
能啊,不同的括号有不同用处,大括号用于变量名的分隔。