shell 各种符号的含义和用法

第一: 符号汇总

符号 含义
[] 逻辑判断
() 命令执行(类似于``)
{} 变量解释
(()) 计算(类似于expr)
[[]] 用于条件判断

第二: 使用说明

2.1 []的使用

# 判断 test.bed文件是否存在
# 终端写法
# if [ -f test.bed ];then echo "test.bed exists";else echo "test.bed not exists";fi
# shell 脚本写法
if [ -f test.bed ];then 
    echo "test.bed exists"
else 
    echo "test.bed not exists"
fi

2.2 ()的使用

使用$(commond)的形式可以在命令行总执行命令并将输出结果替换到当前位置;

echo $(basename ~/test/linux/20241009/test.txt)
# test.txt
infile_name=$(basename ~/test/linux/20241009/test.txt)
echo ${infile_name}
# test.txt

圆括号()主要用于创建子shell。‌ 圆括号内的命令会在一个子shell中顺序执行,这意味着在子shell中定义的变量不会影响到父shell中的变量‌;
即,圆括号用于将多个命令组合在一起执行。这些命令会在一个新开的子shell中顺序执行,任何在圆括号中定义的变量都仅在该子shell中有效,不会影响到父shell中的变量‌;

i=1;(let i+=5;echo $i); echo $i
# 6
# 1

2.3 {}的使用

2.3.1 扩展作用

对{}中的逗号分割的文件列表进行拓展;

echo {
   
   a,b}.txt
# 结果为 a.txt b.txt

对{}中的点点(…)分割的顺序列表进行拓展;

echo {
   
   1..5}
# 结果为 1 2 3 4 5
echo {
   
   a..e}
# 结果为 a b c d e

2.3.2 命令分组(类似于匿名函数)

{}用来将一系列命令组合在一起执行,这些命令会在当前shell环境中运行,而不是开启一个新的子shell(如:{commond1; commond2;commond3;}),且变量在当前shell环境中保持;
注意事项:

  1. 第一个命令和左边的{之间必须有一个空格;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值