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表示没有错误,其他表示有错误

  

  

 

  

posted @ 2022-12-28 15:15  linuxws  阅读(49)  评论(0编辑  收藏  举报