bash 脚本编程4 外部参数 IFS
bash 脚本编程四 外部参数 IFS
这样调用:
现在设置一下IFS:
有时候,想知道外部参数的数量,可以用$#
通过$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个参数开始的所有参数,如果没有指定间隔字符,默认用空格。
比如下面的脚本:
#!/bin/bash echo "$*"
这样调用:
./test.sh 'this is a test' 'abc'结果显示为:
this is a test abc
现在设置一下IFS:
!/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个参数。