shell参数代表什么,如何调试shell?

$0就是该bash文件名
$?是上一指令的返回值
$*所有位置参数的内容:就是调用调用本bash shell的参数。
$@基本上与上面相同。只不过是
“$*”返回的是一个字符串,字符串中存在多外空格。
“$@”返回多个字符串。

还有$#返回所有位置参数的个数。

sh -x 脚本名.sh 
对整个脚本进行跟踪
[root@master shellexer]# cat bash.sh 
#!/bin/bash
var=$1
echo $var
[root@master shellexer]# sh -x bash.sh hello

+ var=hello
+ echo hello
hello         #脚本输出结果
 #带+的表示被跟踪的代码

set -x
对脚本内部部分代码进行跟踪,被跟踪的代码以set -x开始,与set +x结束

[root@master shellexer]# cat bash.sh 
#!/bin/bash
var=$1
set -x
ceho $var
set +x
echo $var
[root@master shellexer]# sh  bash.sh hello
+ ceho hello                            #带+的表示被跟踪的代码
bash.sh: line 4: ceho: command not found
+ set +x
hello         #脚本输出结果

 

转载于:https://www.cnblogs.com/guxuanqing/p/5839450.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值