Shell - 特殊变量
$0
表示所执行程序的路径名。
[huey@huey-K42JE ~]$ ll ~/bin
total 4
-rwxrwxr-x 1 huey huey 21 Oct 24 14:39 hello
[huey@huey-K42JE ~]$ cat ~/bin/hello
#!/bin/bash echo '$0:' $0
[huey@huey-K42JE ~]$ hello
/home/huey/bin/hello
[huey@huey-K42JE ~]$
$n
表示传递给脚本或函数的第 n 个参数,如 $1 表示第一个参数。
[huey@huey-K42JE ~]$ ll ~/bin
total 4
-rwxrwxr-x 1 huey huey 63 Oct 24 14:52 hello
[huey@huey-K42JE ~]$ cat ~/bin/hello
#!/bin/bash echo '$1:' $1
echo '$10:' $10
echo '${10}:' ${10}
[huey@huey-K42JE ~]$ hello a b c d e f g h i j
$1: a
$10: a0
${10}: j
注意:第 10 个参数,用 ${10} 表示,而不是 $10。
$#
表示传递给脚本或函数的参数个数。
[huey@huey-K42JE ~]$ ll ~/bin
total 4
-rwxrwxr-x 1 huey huey 27 Oct 24 15:00 hello
[huey@huey-K42JE ~]$ cat ~/bin/hello
#!/bin/bash echo '$#:' $#
[huey@huey-K42JE ~]$ hello
$#: 0
[huey@huey-K42JE ~]$ hello a b c
$#: 3
$*
表示传递给脚本或函数的所有参数。当包括在双引号内时,扩展为双引号引用的有全部位置参数构成的字符串,每个位置参数以 IFS 变量的第一个字符(默认情况下为空格)间隔开。
$@
表示传递给脚本或函数的所有参数。当包括在双引号内时,将每个位置参数扩展为双引号引用的单独单词。
[huey@huey-K42JE ~]$ ll ~/bin
total 4
-rwxrwxr-x 1 huey huey 284 Oct 24 15:21 hello
[huey@huey-K42JE ~]$ cat ~/bin/hello
#!/bin/bash echo 'Print each param from $*:'
for var in $*
do
echo $var
done echo 'Print each param from $@:'
for var in $@
do
echo $var
done echo 'Print each param from "$*":'
for var in "$*"
do
echo $var
done echo 'Print each param from "$@":'
for var in "$@"
do
echo $var
done
[huey@huey-K42JE ~]$ hello a b c
Print each param from $*:
a
b
c
Print each param from $@:
a
b
c
Print each param from "$*":
a b c
Print each param from "$@":
a
b
c
$?
表示上个命令退出的状态或函数的返回值。
$$
表示当前 Shell 的进程 ID。
[huey@huey-K42JE cmdline]$ ps
PID TTY TIME CMD
17379 pts/3 00:00:00 bash
18370 pts/3 00:00:00 ps
[huey@huey-K42JE cmdline]$ echo $$
Shell - 特殊变量的更多相关文章
- shell与变量的声明的操作
1.给命令起别名:alias 执行下面命令后,可以使用dir代替ls –l 命令,显示目录中的文件详细信息: 还可以用一个别名表示几个命令 的结合: 2.ps:显示当前登录会话的所有活动进程: 3.更 ...
- shell之变量与read
环境变量 set 环境变量可供shell以外的程序使用 shell变量 env shell变量仅供shell内部使用 set:显示(设置)shell变量 包括的私有变量以及用户变量,不同类的shell ...
- 【Linux】之shell特殊变量整理
目录 1. 特殊变量列表 2. 特殊说明 在shell中变量名只能包含数字.字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量. 例如,$ 表示当前Shell进程的ID,即p ...
- (转载)shell变量基础—shell自定义变量
(转载)http://see.xidian.edu.cn/cpp/html/1494.html 一.Shell定义变量需要遵循的规则 Shell编程中,使用变量无需事先声明,同时变量名的命名须遵循如下 ...
- shell基础——变量定义
快速参考: 变量定义格式: 变量名=值 str1="hello world" # define a string var str2=hello # define a string ...
- shell的变量处理
shell的变量处理 一.删除 删除(删除某一段) # 从前向后删除 % 从后向前删除 删除(删除某一部分) $(var:nu1:nu2) nu1表示开始位置 nu2表示删除长度 示例如下 file= ...
- shell 环境变量的相关配置文件和配置方法
shell 环境变量的相关配置文件和配置方法: bash 的配置文件: 全局配置: /etc/profile, /etc/profile.d/*.sh, /etc/bashrc 个人配置 ~/.bas ...
- Linux编程 12 (默认shell环境变量, PATH变量重要讲解)
一 .概述 默认情况下, bash shell会用一些特定的环境变量来定义系统的环境.这些默认环境变量可以理解是上篇所讲的系统全局环境变量. 1.1 bash shell支持的Bourne变量 Bo ...
- shell模板变量替换
我们经常使用一些模板语言来处理一些变量替换.比如jsp,php,velocity,freemarker,thymeleaf等.那对于shell来说,应该怎样替换变量呢.有一种很简单的办法可以做到. 先 ...
- centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/index.php <<EOF重定向 shell的变量和函数命名不能有横杠 平台可以用arch命令,获取是i686还是x86_64 curl 下载 第三十九节课
centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/ind ...
随机推荐
- windows下端口被占用的解决方法
1:打开CMD输入:netstat -ano | findstr "80" 找到PID: 2:查看应用名称:tasklist | findstr "2544" ...
- input text的outline属性
普通的text选中编辑时会出现蓝色的边框,感觉不太美观,怎么去掉呢? 可以在text对应的样式里加入:outline: 0;
- eclipse设置字体大小
eclipse是我们常用的开发工具.eclipse中的默认字体往往并不满足我们的需要,我经常要调节一下它的大小或者换一下风格.eclipse中的字体大小怎么改变呢? 工具/原料 eclipse 方法/ ...
- [cocos2d] 调用动画方法
利用texture atlases生成动画 中讲到如何添加动画,如果想要调用已添加的动画怎么办? 在1.0.1版本以前的cocos2d添加动画的方法为: CCAnimation *anim = [CC ...
- 14.8.4 Moving or Copying InnoDB Tables to Another Machine 移动或者拷贝 InnoDB 表到另外机器
14.8.4 Moving or Copying InnoDB Tables to Another Machine 移动或者拷贝 InnoDB 表到另外机器 这个章节描述技术关于移动或者复制一些或者所 ...
- 14.5.5.1 An InnoDB Deadlock Example 一个InnoDB 死锁实例
14.5.5.1 An InnoDB Deadlock Example 一个InnoDB 死锁实例 下面的例子演示了一个错误可以发生当一个lock 请求会导致一个死锁,例子设计2个客户端,A和B: J ...
- PHP Sessions子系统会话固定漏洞
漏洞名称: PHP Sessions子系统会话固定漏洞 CNNVD编号: CNNVD-201308-193 发布时间: 2013-08-22 更新时间: 2013-08-22 危害等级: 中危 漏 ...
- 字符串(后缀数组):HAOI2016 找相同子串
[HAOI2016]找相同子串 [题目描述] 给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数.两个方案不同当且仅当这两个子串中有一个位置不同. [输入格式] 两行,两个字符 ...
- word中MathType公式不能 二次编辑解决方案
问题:当新建文档然后插入公式,此时可以利用mathtype进行编辑,保存后推出第二次打开,双击公式却发现不能编辑公式. 解决方案: ////////////////////////////////// ...
- NGUI-学习笔记(2)一个项目需求
using UnityEngine; using System.Collections; public class ins1 : MonoBehaviour { //bool isTarget = f ...