当前位置:  技术问答>linux和unix

Linux中$?是什么意思?

    来源: 互联网  发布时间:2016-04-14

    本文导语:  最近在看Linux Shell,一直搞不懂$?是什么,请高手赐教。拜谢! | $n        $1 the first parameter,$2 the second... $#        The number of command-line parameters. $0        The name of current ...

最近在看Linux Shell,一直搞不懂$?是什么,请高手赐教。拜谢!

|
$n        $1 the first parameter,$2 the second...
$#        The number of command-line parameters.
$0        The name of current program.
$?        Last command or function's return value.
$$        The program's PID.
$!        Last program's PID.
$@        Save all the parameters.

almost any shell book will talk about them,from which you can get their detail usages.

|
$?表示上一次程序退出值,你可以自己写一个1.sh脚本如下:
exit 2

然后在命令行下执行该脚本,最后在shell中输入echo $?看看效果

|
其实就是上一次程序或脚本的退出码,主要是用来判断程序或脚本的执行是否成功,检查出错的原因之类的

|
这是SHELL的一部分,意思上面有提及。
一般情况下,在linux/unix下编程时,我们会在应用程序退出时返回一个整型数据(在main函数中通过return/exit,或者别的函数/方法中exit)。这个返回值是给SHELL使用的,因为我们可能需要了解应用程序的执行状态,然后根据不同的执行状态去执行不同的分支(类似于函数的返回值)。

|
Before we move on, there is a perversity about tests in Bash shells that I want to discuss. It turns out, because of a historical accident that now might as well be cast in concrete, when a test is conducted or a command returns a result value, the numerical value for "true" is 0, and "false" is 1. Those of you who have some programming experience will likely find this reversal of intuition as annoying as I do.

Here is a way to get the result of the most recent logical test (and to show the weird reversal described above):

$ test -e .
$ echo $?
0

$ test -e xyz
$ echo $?
1

|
获取进程的退出状态及接收的信号值。

|
呵呵,就是上一次命令的退出状态。成功值为0,不成功为非0!

    
 
 

您可能感兴趣的文章:

  • LINUX AS,as是什么意思?
  • sed linux 这句话什么 意思?
  • Linux版本中,generic是什么意思?
  • linux下的命令“exec <&- 2>&-”代表什么意思?
  • linux9.0 linux8.0 后面的9.0 8.0是什么意思?
  • 什么意思,看不懂linux的代码
  • linux中两个##是什么意思吖。。。
  • linux下文件夹带"."表示什么意思,比如/etc/pam.d这个文件夹?
  • Linux 文件权限中t是什么意思?
  • 再linux 7.0的vi中ctrl+s是什么意思?怎么解琐?
  • 不好意思,问一下LINUX下建立文件夹的命令是什么?THANKS!!!
  • 请问 linux 中的有个符号 # 代表什么意思?
  • linux中ifeq里面$的意思是什么?
  • 请问linux里的 # 和 $ 都有什么意思啊?
  • 在linux中 2>&1 是什么意思?谢谢啦!
  • 请问一个菜鸟问题 linux命令中-lc得意思
  • linux下命令./是什么意思
  • 请问在这段linux脚本里面的ccpbs是什么意思?
  • linux ~/.dir_colors 中的 ~ 表示什么意思?
  • linux下的文件上面的标志代表什么意思?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在没有linux的盘,只有DOS启动盘)
  • Linux Kernel 'sctp_v6_xmit()'函数信息泄露漏洞
  • 如何让win2000和linux共存。我装好WIN2000,再装LINUX7.0,但LILO只能找到LINUX,不能引导WIN2000
  • .net/c#/asp.net iis7站长之家
  • 在windows中的VMware装了个linux,主板有两个串口,能做windows和linux的串口通信测试么,怎么测试这两个串口在linux是有效
  • Linux c++虚函数(virtual function)简单用法示例代码
  • 我们网站的服务器从windows2000迁往linux,ASP程序继续使用,可是我连LINUX的皮毛都不了解,大家告诉我LINUX下怎么建网站??
  • Docker官方镜像将会使用Alpine Linux替换Ubuntu
  • 中文Linux与西文Linus分别哪一个版是权威?I认为是:中科软的白旗Linux与西文的绿帽子Linux!大家的看法呢?
  • Linux下chmod命令详细介绍及用法举例
  • 我重装了winme,却进不了Linux了,而我现在又没有Linux光盘,也没有Linux启动盘,还有没有办法?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3