unix 下shell脚本中的$?代表什么意思啊? UNIX SHELL 语法中的$1是什么意思?
作者&投稿:福苇 (若有异议请与网页底部的电邮联系)
$0, $1, $2, $? 在unix shell里表示什么?~
示例一:在命令行里使用:
tux@tux-desktop:~$ cd /no_such_dir
bash: cd: /no_such_dir: No such file or directory
tux@tux-desktop:~$ echo $?
1
tux@tux-desktop:~$ cd /boot/
tux@tux-desktop:/boot$ echo $?
0
示例二:在SHELL脚本里使用
#!/bin/bash
cd ~/test/aaa 1>/dev/null 2&>1
if [ ! $? -eq 0 ]
then
echo "没有这个目录!!"
exit
fi
rm -rf *
当然还有:
$$ $* $@ $1 $# 等等
用来取变量的值的
最好是到网上学习shell
语法很简单的
就等于windows的批处理.bat文件
就是有些关键字要记
$0代表当前使用的shell
echo $0就能显示当前你用的是bash还是csh等
$1,$2一般代表你使用的命令的参数
比如./test.sh 3 4
这个时候,3就是$1的值,4就是$2的值
$?代表上一条命令的返回值,真为1,假为其他值
命令行上的第一,第二,第三个。。。参数
eg:
nc10@your-5554c55be4 ~
$ cat testing_arg
#! /bin/bash
DAY=$2$3
MONTH=$1
echo "\$MONTH = \$1, $MONTH"
echo "\$DAY = \$2\$3 , \$2 is $2, \$3 is $3"
nc10@your-5554c55be4 ~
$ sh testing_arg 1 2 3
$MONTH = $1, 1
$DAY = $2$3 , $2 is 2, $3 is 3
就是这样
示例一:在命令行里使用:
tux@tux-desktop:~$ cd /no_such_dir
bash: cd: /no_such_dir: No such file or directory
tux@tux-desktop:~$ echo $?
1
tux@tux-desktop:~$ cd /boot/
tux@tux-desktop:/boot$ echo $?
0
示例二:在SHELL脚本里使用
#!/bin/bash
cd ~/test/aaa 1>/dev/null 2&>1
if [ ! $? -eq 0 ]
then
echo "没有这个目录!!"
exit
fi
rm -rf *
当然还有:
$$ $* $@ $1 $# 等等
用来取变量的值的
最好是到网上学习shell
语法很简单的
就等于windows的批处理.bat文件
就是有些关键字要记