`
BonnieTang
  • 浏览: 2525 次
  • 性别: Icon_minigender_2
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Bash special variable:$#, $$, $@, $*, $0, $?

    博客分类:
  • Unix
阅读更多
special variable:$#, $$, $@, $*, $0, $?

1, $#
The number of arguments supplied to a script.
eg:
if [ "$#" -eq 0 ]; then
  echo "you did not pass any parameter"
fi

echo "Total Number of Parameters : $#"
Total Number of Parameters : 2

2, $$
The process number of the current shell. For shell scripts, this is the process ID under which they are executing.

3, $@
the "$@" special parameter takes the entire list and separates it into separate arguments.
All the arguments are individually double quoted. If a script receives two arguments, $@ is equivalent to $1 $2.

4, $*
the "$*" special parameter takes the entire list as one argument with spaces between.
All the arguments are double quoted. If a script receives two arguments, $* is equivalent to $1 $2.

5, $0
The filename of the current script.

6, $?
represents the exit status of the previous command.
0 if they were successful, and 1 if they were unsuccessful.
eg:
touch test.ksh
write in test.ksh as below:
-----------------------
#create a stored procedure, name do_feed_processing.
do_feed_processing() {
  ....
  return 0
}
#execute do_feed_processing
do_feed_processing
#print execution result
echo $?
-----------------------
$ sh test.ksh
$ 0
分享到:
评论

相关推荐

    linux命令中$0, $#, $?, $$, $@, $数字, $*, !$, $!符号的用法

    `$*`也包含所有参数,但通常会将它们作为一个单一的字符串处理,除非在双引号中使用。 7. **$!**:这个变量给出了最后在后台运行的进程的PID。这在你需要等待某个进程完成或者想要在后续操作中引用该进程时很有用。...

    shell的特殊变量实例详解

    #### $0:Shell或Shell脚本的名字 - **作用**:`$0` 用于表示当前运行的脚本名称。 - **应用场景**: - 当你需要在脚本内部引用自身时,可以使用 `$0` 来获取脚本名称。例如,可以在脚本开头加入版权信息或者版本...

    bash完全手册,bash manual

    - `$*`: 类似于 `$@`,但在双引号内会将所有参数视为一个单词。 ##### Shell Expansions - **Brace Expansion**: 使用花括号 `{...}` 来生成一系列字符串。 - **示例**: `echo a{1..3}` - **Tilde Expansion**: ...

    Linux.Shell编程基础知识.doc

    - **$* 或 $@**:表示所有位置参数的列表。 - **$?**:表示前一个命令的退出状态码。 - **$$**:表示当前 Shell 进程的 PID。 #### 五、Shell 脚本实例 下面是一个简单的示例,展示如何使用 Shell 脚本来执行一些...

    解决ssh远程登陆linux显示-bash-4.1$的问题

    cp -pr /etc/skel/.bash* /home/test/ #/home/test是用户目录 改变用户家目录:usermod -md /tmptest test 以上就是小编为大家带来的解决ssh远程登陆linux显示-bash-4.1$的问题全部内容了,希望大家多多支持软件开发...

    浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释

    - **$*:** 当整个参数列表被视为一个单一的字符串时使用。如果参数中包含空格,则需要用引号括起来。 - **$@:** 当需要将每个参数视为独立的字符串时使用。即使参数中有空格,也会保持原样。 这两个变量经常用于...

    高级Bash编程

    ### 高级Bash编程知识点概述 #### 一、引言 本教程旨在为初学者提供一条通往高级Bash编程的道路。它不仅适用于自学,也是课堂教学的理想材料,尤其是在教授编程概念方面。通过丰富的实例和练习,读者将逐步掌握...

    Bash特殊变量讲解

    - **$0: 脚本名称** - 表示调用脚本的名称。在交互式Shell中,这是当前Shell的名称;而在非交互式环境中,它是脚本的名称或路径。 - **$!: 最后一个后台命令的进程ID** - 可用于保存进程ID以便稍后使用`wait`命令...

    shell中的函数、硬链接、软链接、权限、特定变量$1,$#等

    此外,还有其他特殊变量,比如`$0`表示脚本名,`$*`和`$@`都代表所有参数,但`$@`在双引号中会保留每个参数的独立性。 理解这些基本概念对于有效和高效地使用Shell至关重要。熟练掌握后,你可以编写更复杂的脚本,...

    shell程序设计小知识

    - **$***: 所有的位置参数作为一个字符串。 - **$#**: 位置参数的数量。 - **$$**: 当前进程的PID。 - **$!**: 上一个后台命令的PID。 - **$?**: 上一个命令的退出状态。 例如: ```bash [user@C10647 ~]$ echo $0 ...

    4种shell的区别

    本文将详细探讨四种常见的Shell——C Shell (csh)、TC Shell (tcsh)、Bourne Shell (sh) 和 Bash Shell (bash) 的区别。 #### C Shell (csh) - **特点**:C Shell是最早期的一种Shell,其设计灵感来源于C语言。它...

    Linux详细,CentOS,Ubuntu都适用.docx

    * 示例:${file:0:5} 从第 1 个字符开始,截取 5 个字符 * ${file:5:5} 从第 6 个字符开始,截取 5 个字符 * ${file:0-6:3} 从倒数第 6 个字符开始,截取之后的 3 个字 本文涵盖了 Linux 基础知识点,包括 shell ...

    BASH编程-Linux中的必备编程技术

    - **$* 和 $@**:分别表示传入的所有参数作为一个字符串和参数列表。 - **$?**:上一个命令的退出状态码。 - **$$**:当前进程的PID。 #### 命令替换 - `$(command)` 或 ``command``:执行命令并将输出结果赋值给...

    Bash Quick Reference bash命令快速指南

    本快速指南旨在为用户提供一个简洁而实用的bash命令手册,适用于版本2.02.0。它由Arnold Robbins编写,并得到了bash维护者Chet Ramey的帮助。这份手册虽然以英文呈现,但其语言表达通俗易懂,适合于各种水平的用户...

    Bash shell编程参考手册

    《Bash shell编程参考手册》是一份详尽的文档,主要介绍了Bash shell的各种功能与用法,是Linux系统编程的必备指南。这份手册由Chet Ramey(凯斯西储大学)和Brian Fox(自由软件基金会)共同编写,针对的是Bash版本...

    Linux Shell编程.

    - **Bash (Bourne Again SHell)**:最流行的 Shell,是许多 Linux 发行版的默认 Shell。 - **Sh (Bourne Shell)**:Unix 系统的标准 Shell。 - **Csh (C Shell)**:以 C 语言风格著称,流行于早期的 Unix 系统。 - *...

    shell扫盲篇:Shell常见知识

    - **$* 和 $#**:`$*`表示所有参数作为一个字符串,`$#`表示参数的数量。 - **$$**:表示当前进程的进程ID。 - **$!**:表示最后一个后台进程的进程ID。 - **$?**:表示最后一条命令的退出状态码。 #### 三、Shell...

    Bash Reference Manual

    ### Bash 参考手册知识点概览 #### 1. 引言 - **Bash 是什么?** - **定义:** Bash(Bourne-Again SHell)是一种广泛使用的Unix shell,也是许多Linux发行版的默认shell。它由Brian Fox为GNU项目开发,并在Chet ...

Global site tag (gtag.js) - Google Analytics