$0
通过$0可以获取传递来的第一个参数,就是脚本自己,$1可以获得第二个参数,比如:
#!/bin/bash
echo "$0"
echo "$1"
运行程序./test/sh q看到:
$ ./test.sh q
./test.sh
q传递带空格的参数
传递参数的时候,如果是字符串,可以用单引号或者双引号包起来,表示这是一个完整的参数:
./test.sh 'this is a test'./test.sh "$HOME"
./test.sh
/home/chenshu$HOME的值被用来作为第二个参数。同样,这里用上单引号就不会取值。
获得所有外部参数
$* 指得是从第1个参数开始的所有参数(因为是外部参数, 所以脚本自己就不算在内,也就是不包含第0个参数),
如果没有指定间隔字符,默认用空格。
比如下面的脚本:
#!/bin/bash
echo "$*"这样调用:
./test.sh 'this is a test' 'abc'结果显示为:this is a test abc指定外部参数的间隔符号
!/bin/bash
IFS=^
echo "$*"
结果显示为:this is a test^abc如果IFS设置为换行符,需要这样写:
IFS=$'\n'使用$@基本上和$*一样,除了IFS设置无效外。
获得外部参数的数目
#!/bin/bash
IFS=^
echo "$*"
echo "$#"运行脚本:./test.sh 'this is a test' 'abc'输出为2,不包含第0个参数。
                  
                  
                  
                  
                            
本文介绍了Bash脚本中如何处理外部参数,包括如何传递带空格的参数,获取所有外部参数的方法,指定外部参数间隔符号(IFS)的使用,以及如何获得外部参数的数目。示例代码展示了不同情况下的参数处理方式。
          
      
          
                
                
                
                
              
                
                
                
                
                
              
                
                
              
            
                  
					235
					
被折叠的  条评论
		 为什么被折叠?
		 
		 
		
    
  
    
  
            


            