shell
本文为docker官方docker安装脚本的解决。
脚本位置: https://get.docker.com
在 CentOS | 上安装 Docker 引擎码头工人文档
echo $SHELL
在6.10之后的大部分Ubuntu版本上,默认的shell是dash
你可以进行修改
dash --> bash
方法:sudo dpkg-reconfigure dash
选择no
bash --> dash
方法:sudo dpkg-reconfigure dash
选择yes
Shell环境变量set、env、export_51CTO博客_export 环境变量
Shell 的环境变量分为两种:
set:可以显示和设置shell私有变量,仅在本 shell 中有效。不同shell(bash、csh)私有变量不同。
env:可以显示和设置用户环境变量 ,仅在当前会话中有效。
另外set 变量可以通过 export 工具导入到 env 变量中:
export:显示或设置当前导出成用户变量的shell变量。
区别
两种变量不同之处在于变量的作用域不同,env 变量的作用域更大,它可以被所有shell使用。
也就是说,set 变量里包含了 env 变量,但 set 变量不一定都是 env 变量。
Shell - set命令 - Anliven - 博客园 (cnblogs.com)
set -n 或者 set -o noexec 语法检查模式,读取脚本并检查语法错误,但不执行 set -e 或者 set -o errexit 如果命令运行失败,脚本立即退出执行
(30条消息) shell 字符串操作 ${} 的截取,删除,和 替换_小小酥_LH的博客-CSDN博客
#从左匹配删除,尽可能少删除字符;##尽可能多的删除
从右匹配删除 % 和 %%
VERSION=v20.8.19 VERSION="${VERSION#v}" echo $VERSION 20.8.19
(30条消息) Linux Bash Shell学习(八):shell编程基础——string操作_恺风的博客-CSDN博客
如果varname存在并且不为null,返回varname的值,否则返回word。用于当某个变量不存在或没定义时返回一个缺省的值。
${ varname :- word } :
如果DRY_RUN变量存在就输出值,如果不存在就输出空
DRY_RUN=${DRY_RUN:-}
Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义 - jihite - 博客园 (cnblogs.com)
$# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个 $$ 是脚本运行的当前进程ID号 $? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误