码迷,mamicode.com
首页 > 系统相关 > 详细

shell里面 $开头的含义,以及扩展

时间:2018-01-24 16:54:41      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:ks.cfg   jpg   用法   解析   base   pre   hang   basename   描述   

对于shell里面的set以及eval的用法:

set的作用设置位置参数(同命令行脚本的传参)

eval的作用是进行第二次描述

root@ubuntu:/home/xpg# set -- hello shanghai liangge     
root@ubuntu:/home/xpg# eval echo \$$#
liangge
root@ubuntu:/home/xpg#

shell里面的关于 "$"的作用:

$0:脚本名称

      如果想获得脚本的路径以及脚本的名称可以使用dirname和basename

root@ubuntu:/home/xpg# dirname /home/xpg/1.sh 
/home/xpg
root@ubuntu:/home/xpg# basename /home/xpg/1.sh    
1.sh

$n:输出具体的参数

$#:总几个参数

$*:和下面的$@在不带引号的情况下是一样的

$@:带上引号的区别。可以用set设置位置参数看看,这两个一般不用


$?:对上一个命令执行的判断,如果正确,为0,否则为非零

企业中使用$?的用法:

     判断脚本命令,脚本是否执行成功

     *若在脚本中,使用exit n来返回数字给$?

     *若在函数中,使用return来返回数字给$?

$$:获得脚本的进程号

生产的上的例子就是多次执行一个脚本的时候,第一次没有执行完,第二次就要先将这个脚本的pid删除,在使用$$判断这个脚本的pid


 bash  shell的内置命令:

echo:

    -n:不换行输出内容

    -e:解析转义字符(下面用到)

         \n:换行

         \r:回车

         \t:tab健

         \b:退格

root@ubuntu:/home/xpg# echo me;echo you
me
you
root@ubuntu:/home/xpg# echo -n  me;echo you
meyou
root@ubuntu:/home/xpg# printf "log\tlog\npog\tpog\n"
log     log
pog     pog
root@ubuntu:/home/xpg# echo -e "log\tlog\npog\tpog"  
log     log
pog     pog
root@ubuntu:/home/xpg# echo -e log\tlog\npog\tpog 
logtlognpogtpog

exec:执行完命令会退出当前的shell的

root@ubuntu:/home/xpg# exec date
Mon Jan 22 07:07:25 PST 2018
xpg@ubuntu:~

关于shell变量子串知识以及实践
${变量名}:值
${#变量名}:长度
${变量名:num}:从num开始到最后,num是一个数字
${变量名:num:num1}:从num到num1之间的字符
${变量名#word}:从变量开头删除最短匹配的word子串
${变量名##word}:从变量开头删除最长匹配的word子串
${变量名%word}:从右边开始删除的
%%:从变量右边删除匹配最长匹配的word,word可以是(a*c代表是的a到c,[0-9])

${parameter/pattern/string}:使用第一个代替第一个匹配的pattern
${parameter//pattern/string}:使用string代替所有的pattern
修改文件名:
anaconda-ks.cfg  stu_102_1_finished.jpg
[root@localhost ~]# rename "_finished" "" *.jpg
[root@localhost ~]# ls
anaconda-ks.cfg  stu_102_1.jpg

shell里面 $开头的含义,以及扩展

标签:ks.cfg   jpg   用法   解析   base   pre   hang   basename   描述   

原文地址:http://blog.51cto.com/11726212/2064679

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!