在shell 脚本中$0 通常用于显示脚本的名称,在不使用basename 的时候会显示脚本的路径名称
例如
1
2
3
4
5
<code> </code><code>cat</code> <code>test5.sh </code>
<code>#!/bin/bash </code>
<code># testing the $0 parameter </code>
<code>echo</code> <code>the zero parameter is </code><code>set</code> <code>to:$0</code>
执行脚本
bash /root/shell/test5.sh
the zero parameter is set to:/root/shell/test5.sh ##显示了脚本的路径
添加basename 后
<code>name=$(</code><code>basename</code> <code>$0 )</code>
<code>echo</code> <code>the zero parameter is </code><code>set</code> <code>to:$name</code>
执行脚本
bash /root/shell/test5b.sh
the zero parameter is set to:test5b.sh ##直接显示脚本名称
简单实例,根据脚本的不同名称执行不同的功能,当脚本名称是addem,执行加法、是multem的时候执行乘法
脚本如下
6
7
8
9
10
11
12
13
<code>#!/bin/bash</code>
<code>#Testing a multi-function script </code>
<code>name=$(</code><code>basename</code> <code>$0)</code>
<code>#</code>
<code>if</code> <code>[ $name = </code><code>"addem"</code> <code>]</code>
<code>then</code>
<code> </code><code>total=$[ $1 + $2 ]</code>
<code>elif</code> <code>[ $name = </code><code>"multem"</code> <code>]</code>
<code> </code><code>total=$[ $1 * $2 ]</code>
<code>fi</code>
<code>echo</code> <code>The calculated value is $total</code>
cp test6.sh addem
cp test6.sh multem
执行addem 脚本
./addem 25 3
The calculated value is 28
执行multem 脚本
[root@VM_71_179_centos shell]# ./multem 3 5
The calculated value is 15
本文转自 水滴石川1 51CTO博客,原文链接:http://blog.51cto.com/sdsca/1903822,如需转载请自行联系原作者