linux 展开

echo  输出

 

路径展开

echo  *     不会输出*,而是输出当前目录下的所有文件名      因为*会先展开

 

参数展开

echo $USER    会输出当前用户的用户名

 

波浪线~展开

echo ~     会输出当前用户的home目录

echo ~zhangsan    会输出用户zhangsanhome目录

 

算术表达式展开

echo $((2 + 2))    $(())两层括号都是必须的

 

花括号展开

echo Front-{A,B,C}-Back      ->     Front-A-Back Front-B-Back Front-C-Back

echo Number_{1..4}           ->     Number_1  Number_2  Number_3  Number_4

echo a{A{1,2},B{3,4}}b       ->     aA1b aA2b aB3b aB4b

 

命令替换  $()

ls -l $(which cp)      在不知道cp命令的完整路径名的情况下,得到它的文件属性

 

用双引号括起来,可以禁用单词分割、路径名展开、 波浪线展开和花括号展开,

而参数展开、算术展开和命令替换 仍然有效。

 

单引号能禁止所有的展开

 

反斜杠 \ 转义    echo "\$USER"    不会展开

posted @ 2020-05-26 19:04  是的哟  阅读(213)  评论(0编辑  收藏  举报