Docker中BASH命令有哪些
更新:HHH   时间:2023-1-7


小编给大家分享一下Docker中BASH命令有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

基本语法:

语法说明
>输出重定向。将命令执行的标准输出(stdout) 保存为文件。Unix系列的OS将设备视为文件,所以我们可以将命令执行的结果发送到特定设备: $ echo "hello" > ./hello.txt $ echo "hello">/dev/null
<输入重定向。读取文件内容,做为命令的标准输入(stdin) $ cat &lt; ./hello.txt
>>将命令执行的标准输出(stdout)添加到文件。 和">"的区别是,">"会覆盖文件原有内容,而">>"只会将内容添加到现有文件的末尾 $ echo "world" &gt;&gt; ./hello.txt
2>bash中0,1,2三个数字分别代表STDIN_FILENOSTDOUT_FILENOSTDERR_FILENO,即标准输入(一般是键盘),标准输出(用户终端控制台),标准错误(出错信息输出)。2>的作用是将命令执行的标准错误(stderr)保存为文件
2>>将命令执行的标准错误(stderr)添加到文件
&>将标准输出与标准错误全部保存为文件
1>&2将标准输出标记为标准错误。下面这段代码最后的输出为空,因为我们将标准输出标记为标准错误。$ hello=$(echo "hello world" 1&gt;&amp;2) $ echo hello
2>&1将标准错误发送为标准输出。看下面这个例子 : $ execnofile &gt; /dev/null 2 &gt;&amp;1 我们执行一个本地不存在的文件,之后将输出结果发送到空设备。由于我们将标准错误标记为标准输出,故最后不会有任何内容输出
|管道命令。将第一个执行命令的标准输出发送为其它命令的标准输入,我们常见的用法像 $ ps -ef \|grep mysql
$Bash的变量,存储变量时不需要使用$符号,输入或使用变量时需要$符号 ,例:
$()将一条命令执行的结果变量化。将命令的执行结果存储到变量或者传递给其它命令做为参数使用,例:
&&一行内运行多个命令,但是只有在前一条命令执行成功时,后一条才能生效。$ make &amp;&amp; make install
;同样是在一行内运行多个命令,和上面命令的区别是,即使第一条命令失败了,也会执行后面的命令,例:
''字符串。系统不处理''中的变量,只使用变量名,例:
""和''类似,区别在于,如果""中有变量,输出的内容会替换为变量内容.例:
${}作用1: 变量替换,主要用于""字符串中输出变量,也可以使用$来代替,例:作用2: 在脚本中设置默认变量,看下面的例子 第一次,我建立了一个hello变量,此时hello的值是空值;hello= ${hello-"my"}的意思是,如果hello变量不存在,则给hello赋值"my",如果hello已经存在,则使用默认值,所以在输出结果可以看到,输出的是hello的默认值,空;第二次,hello= ${hello:-"my"}的意思是,如果变量中有值非空,则使用当前值,如果当前值为空,则使用"my",所以我们看到输出为"my"
\将一行命令写成多行
{起始数字..末尾数字}用于表达一个连续数字,例:
ifif条件语句,用于比较变量或字符串,具体用法: if {$a -eq $b}; then echo $a fi。比较数字可使用: -eq: 等于 -ne:不等于 -gt:大于 -ge:大于等于 -lt:小于 -le: 小于等于 比较字符串可使用: =,== :相同 !=:不相同 -z: 字符串为NULL -n: 字符串不为NULL
forfor循环语句,例:
whilewhile 循环,例:
<<<将字符串发送到命令(进程)的标准输入,例:
<

以上是“Docker中BASH命令有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注天达云行业资讯频道!

返回云计算教程...