直接上代码!!!
#!/bin/bash
echo echo
echo
echo
echo
'# ' $# echo
'* ' $*echo
'@ ' $@echo
'$ ' $$echo
'? ' $?test
直接看运行结果!!!
$跟的数字表示第几个命令行参数
#命令行参数的个数
*和@都表示所有命令行参数
$正在执行的ID号
?前一个命令的退出状态,正常退出返回0,反之为非0值。
对于为什么一个命令的退出状态正常返回0,反之返回非0,而之前我们在布尔逻辑了解到的是0表示假,非0表示真。
例如
[ ] a -le b # a小于等于b判断成功返回0,否则返回非0 if
( <=a ) b //a小于等于b为真,即返回的是非0,否则返回0
为啥是反着的?我觉得,前者的测试状态表示命令执行完的退出状态,就像我们C语言里面的函数的退出,成功退出基本默认的都是·return 0;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)