![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SHELL 学习笔记
huaxin820518
不甘于平淡,期望新的机遇和挑战的中年男
展开
-
SHELL 关于变量的赋值和脚本中的子SHELL中变量的变化
2个要点,1 赋值时,如果是将执行命令的结果赋值给变量,没有(),只是将命令传递给变量,Shell在解释时会用命令替换变量。 2 ()打开子Shell,{}不会。因此()中的变量如果发生的变化,只对在()中有效。参考以下代码。#!/bin/bashLine=(`wc -l ./etc/passwd`) #注意,如果没有()这个的话,实际上是将命令传递给变量,而不是命令执行后的值。echo ...原创 2018-02-10 13:23:05 · 1259 阅读 · 0 评论 -
SHELL 数组:数组赋值中符号使用不正确(应该严格按"()"赋值),赋值后不能正确求出数组的长度。
一个小问题,困扰初学者的我很久。先上一段代码:#!/bin/bashclearnum=`cat tmp.txt|xargs`echo "********数字数组********"for i in ${num[@]}doecho $idoneecho "数组是"${num[@]}echo "数组是"${num[*]}echo "个数是"${#num[*]}echo原创 2018-02-06 00:48:57 · 641 阅读 · 0 评论 -
101超酷脚本学习笔记 :11节 ANSI Color Sequences
按原书的脚本,发现不能显示出效果。#!/bin/shinitializeANSI(){ esc="\033" # if this doesn't work, enter an ESC directly blackf="${esc}[30m"; redf="${esc}[31m"; greenf="${esc}[32m" yellowf="${esc}[33m" bl...原创 2018-02-27 22:49:24 · 336 阅读 · 0 评论 -
101脚本学习笔记 03 关于取字符串首字符;错误输出
运行环境:MAC OS X High Sierra作者取首字符喜欢用的方式是 {var%${var#?}}的方式,其原理是左匹配任意字符,取除首字符外的所有字符,再做右匹配,取的首字符。因此试验了下,不同方式下取首字符:#!/bin/bashecho "********字符串匹配********"n="itisagoodday"printf "输出第1个字符{var:1}:\t,${n:1}...原创 2018-02-13 20:54:04 · 251 阅读 · 0 评论 -
【SHELL】 3个汉诺塔的实现
3个汉诺塔的实现。汉诺塔的问题的具体描述就不再重复了。直接上代码。1 #!/bin/bash 2 Time_Initial=`date "+s:%s"|awk -F":" '{printf($2)}'` 3 a=a #A柱,也可以理解为源柱。 4 b=b #B柱,也可以理解为缓存柱。 5 c=c #C柱,...原创 2018-08-10 14:11:51 · 1252 阅读 · 2 评论 -
SHELL 小技巧
从网上收集到的小技巧,特此记录:1)用find和sed来实现tree的功能:find . -print | sed -e 's;[^/]/;|__;g;s;____|; |;g'find . -print | sed -e 's;[^/]/;|__;g;s;____|; |;g'可以把这个命令记录在~/.bash_proile中$ vim ~/.bash_profile...转载 2018-08-14 15:42:47 · 177 阅读 · 0 评论