Shell���������Shell $0, $#, $*, $@, $?, $$���������
<��һ��
��һ��>
ǰ���Ѿ�������������ֻ�ܰ������֡���ĸ���»��ߣ���ΪijЩ���������ַ��ı��������⺬�壬�����ı�������Ϊ���������
���磬$ ��ʾ��ǰShell���̵�ID����pid��������Ĵ��룺
�뿴����Ľű���
���ǵ����DZ�˫����(" ")����ʱ��"$*" �Ὣ���еIJ�����Ϊһ�����壬��"$1 $2 … $n"����ʽ������в�����"$@" �Ὣ���������ֿ�����"$1" "$2" … "$n" ����ʽ������в�����
��������ӿ�������Ŀ��� $* �� $@ ������
�˳�״̬��һ�����֣�һ������£�������ִ�гɹ��᷵�� 0��ʧ�ܷ��� 1��
������Ҳ��һЩ���������ֵ����ʾ��ͬ���͵Ĵ���
���������У�����ɹ�ִ�У�
$? Ҳ���Ա�ʾ�����ķ���ֵ���������ὲ�⡣
���磬$ ��ʾ��ǰShell���̵�ID����pid��������Ĵ��룺
$echo $$����
29949
���� | ���� |
---|---|
$0 | ��ǰ�ű����ļ��� |
$n | ���ݸ��ű������IJ�����n ��һ�����֣���ʾ�ڼ������������磬��һ��������$1���ڶ���������$2�� |
$# | ���ݸ��ű������IJ��������� |
$* | ���ݸ��ű����������в����� |
$@ | ���ݸ��ű����������в�������˫����(" ")����ʱ���� $* ���в�ͬ�����潫�ὲ���� |
$? | �ϸ�������˳�״̬�������ķ���ֵ�� |
$$ | ��ǰShell����ID������ Shell �ű���������Щ�ű����ڵĽ���ID�� |
�������
���нű�ʱ���ݸ��ű��IJ�����Ϊ�����в����������в����� $n ��ʾ�����磬$1 ��ʾ��һ��������$2 ��ʾ�ڶ����������������ơ��뿴����Ľű���
#!/bin/bash echo "File Name: $0" echo "First Parameter : $1" echo "First Parameter : $2" echo "Quoted Values: $@" echo "Quoted Values: $*" echo "Total Number of Parameters : $#"������
$./test.sh Zara Ali File Name : ./test.sh First Parameter : Zara Second Parameter : Ali Quoted Values: Zara Ali Quoted Values: Zara Ali Total Number of Parameters : 2
$* �� $@ ������
$* �� $@ ����ʾ���ݸ�������ű������в���������˫����(" ")����ʱ������"$1" "$2" … "$n" ����ʽ������в��������ǵ����DZ�˫����(" ")����ʱ��"$*" �Ὣ���еIJ�����Ϊһ�����壬��"$1 $2 … $n"����ʽ������в�����"$@" �Ὣ���������ֿ�����"$1" "$2" … "$n" ����ʽ������в�����
��������ӿ�������Ŀ��� $* �� $@ ������
#!/bin/bash echo "\$*=" $* echo "\"\$*\"=" "$*" echo "\$@=" $@ echo "\"\$@\"=" "$@" 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ִ�� ./test.sh "a" "b" "c" "d"����������Ľ����
$*= a b c d "$*"= a b c d $@= a b c d "$@"= a b c d print each param from $* a b c d print each param from $@ a b c d print each param from "$*" a b c d print each param from "$@" a b c d
�˳�״̬
$? ���Ի�ȡ��һ��������˳�״̬����ν�˳�״̬��������һ������ִ�к�ķ��ؽ�����˳�״̬��һ�����֣�һ������£�������ִ�гɹ��᷵�� 0��ʧ�ܷ��� 1��
������Ҳ��һЩ���������ֵ����ʾ��ͬ���͵Ĵ���
���������У�����ɹ�ִ�У�
$./test.sh Zara Ali File Name : ./test.sh First Parameter : Zara Second Parameter : Ali Quoted Values: Zara Ali Quoted Values: Zara Ali Total Number of Parameters : 2 $echo $? 0 $
$? Ҳ���Ա�ʾ�����ķ���ֵ���������ὲ�⡣
<��һ��
��һ��>