当前位置:首页 » 编程软件 » shell脚本中的括号

shell脚本中的括号

发布时间: 2022-08-08 09:21:28

linux shell脚本的问题

1、第二个括号不能换成其他的,中括号,大括号,双中括号,双括号都不可以,意思都不一样。
2、:-是一起的;fileuser
如果有值的话,就用所拥有的值赋予给filename变量;无值的话,就把filenname赋予给fileuser,再赋予给filename变量
3、大括号可以不要,大括号里不做如何的参数变化可以舍去。
你最好修改下:
#!/bin/bash
read
-p
"please
you
nmae
"
fileuser
date=$(date
--date='2
day
ago'
+%Y%m%d)
filename=${fileuser:-"filename"}
file=$filename$date
touch
$file
这样或许能更好体现出意义来

❷ shell中尖括号的意义 sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \

不是尖括号,是输入输出重定向符号。
< $@.$$$$
> $@

sed中的替换方法:
sed 's/str1/str2/' <oldfile >newfile

sed 's/str1/str2/' oldfile >newfile

❸ shell脚本中括号()有什么用

三种作用,根据上下文决定作用。
在条件表达式中作用类似c语言作用,单独作用fork子shell,定义数组

❹ shell如何输出大括号

大括号在shell中有特殊的意义,输出一般需要转义,
使用转义字符\{ 或\} 就可以输出大括号
但有些地方不需要转义,如果转义会输出前面的转义字符。
是否需要转义可以通过测试进行判断。

❺ shell中的for为什么两个括号

for loop 的语法有下列两种:

(1)这个是shell的古典for的用法:
for varname [in word...]
do
...
done

举例:
for i in a b c
do
echo $i
done

(2) 这个语法类似C/C++的用法,还有((...))在shell里是算数运算用:

for (( [init_expression];[loop_condition];[loop_expression] ))
do
...
done

举例:
for ((i=0;i<5;i++))
do
echo $i
done

注意事项:这个for的用法只有在1988-11-16后的ksh才支援,所以有许多的Unix还不支援这个for的使用语法。例如HPUX或IBM的AIX。

❻ 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脚本中的方括号

shell脚本中的方括号,类似于[]这样的,相当于test命令。
也就是test命令的使用方法都适用 它。

❽ 关于shell脚本的几个问题--if和产量替换 if的语法,中括号后面有没有分号变量替换字符串

if [ $asd == "asdasd" ];then
fi
这是标准语法

❾ 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)注意双等号的两边需要有空格,判别式与双中括号之间也需要空格。你可能没加空格,遇到了错误。把你的代码或者屏幕错误提示贴出来,大家就能更清晰地看到问题了。

供参考,谢谢!

❿ 请教会linux shell脚本的=~是什么意思

应该是正则表达式的字符判断

if [[ $i =~ ^[0-9]+$ ]] && echo 1

1、^是匹配字符串开始的意思,[0-9]只要不是数字都不要。

2、~ +的意思的^[0-9]的范围里匹配一次以上+ $是匹配结束符。

touch -t "201109021200.00" tempfile

使用引号内的时间戳在当前目录建立一个叫tempfile的文件

find -name "*VIRTUALID*" -newer tempfile -exec cp {} /home/wbft/luo ;

(10)shell脚本中的括号扩展阅读:

实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。

Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。

热点内容
小白源码论坛 发布:2024-05-06 09:24:56 浏览:139
android进程重启 发布:2024-05-06 09:15:09 浏览:96
ie浏览器设置默认ftp 发布:2024-05-06 09:14:03 浏览:885
迈腾尊贵中控配置怎么使用 发布:2024-05-06 09:13:28 浏览:656
奥迪存储卡格式不正确请格式化存储卡 发布:2024-05-06 09:01:31 浏览:34
个人信用数据库 发布:2024-05-06 09:00:34 浏览:417
最新解压缩 发布:2024-05-06 09:00:28 浏览:983
童编程 发布:2024-05-06 08:44:01 浏览:246
java路径配置文件 发布:2024-05-06 08:43:47 浏览:904
什么软件可以编程 发布:2024-05-06 08:37:37 浏览:46