#!/bin/bash my_fun() { echo "$#" } echo 'the number of parameter in "$@" is '$(my_fun "$@") echo 'the number of parameter in "$*" is '$(my_fun "$*")執(zhí)行:./my.sh p1 "p2 p3" p4后返回:the number of parameter in "$@" is 3the number of parameter in "$*" is 1$*表示所有這些參數(shù)都被雙引號引住。若一個(gè)腳本接收兩個(gè)參數(shù),$*等于$1$2$@表示所有這些參數(shù)都分別被雙引號引住,若一個(gè)腳本接收到兩個(gè)參數(shù),$@等價(jià)于$1$2$#表示提供給腳本的參數(shù)號這里怎么看出$*和$@的區(qū)別呢?為什么執(zhí)行結(jié)果是3和1呢?這里$#又是什么意思呢?
3 回答

楊魅力
TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
$* 這個(gè)程式的所有參數(shù)
$# 這個(gè)程式的參數(shù)個(gè)數(shù)
$@ 跟$*類似,但是可以當(dāng)作數(shù)組用
添加回答
舉報(bào)
0/150
提交
取消