shell 学习-不定期更新

博客提供了 Shell 入门网站,总结了部分 Shell 命令,如 $(cmd) 与 ${变量}、:-、-- 等,还介绍了 :- 命令检测变量值并赋值的作用。此外,总结了使用 || 短路处理的优秀思路,给出了 Bash Builtin Command 查询地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

入门网站:Shell 教程 | 菜鸟教程

命令总结(部分从脚本中看到的命令):

        1.$(cmd) 与 ${变量}

# 如下命令将pwd -P的结果赋值给APP_HOME变量
# 其中$()的作用是执行()中的命令,并获取命令执行结果
# 而${}的作用是获取{}中的变量的值
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P )

        2.:-

        变量2=${变量1:-字符串},此命令(:-)的作用为检测变量1的值是否存在,如果存在将变量1的值赋值给变量2,如果不存在使用字符串的值给变量2赋值

        3.-- 

# set -- 的作用会修改当前脚本的参数,会影响$argv变量和$1,$@等参数变量的值,但不会影响$0的值
# 下面代码会 将 -Dorg.gradle.appname  至 GradleWrapperMain 内容添加到原来的参数前面
set -- \
        "-Dorg.gradle.appname=$APP_BASE_NAME" \
        -classpath "$CLASSPATH" \
        org.gradle.wrapper.GradleWrapperMain \
        "$@"


#另外一个简单例子(tmp.sh)
#!/bin/bash
echo $0
echo $@
set -- mysqld
echo $0
echo $@
# 命令行执行
bash tmp.sh xxx xxx
# 得到如下结果
tmp.sh
xxx xxx
tmp.sh
mysqld

        

优秀思路总结:

        1.使用 || 短路处理

# 命令中 || 的作用为前面任务失败时,执行后面的exit命令
# 如果 || 前面的任务执行成功,那么会因为短路机制exit命令跳过执行
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit

bash builtin command 查询地址:

        Bash Builtin Command Index 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值