l**t 发帖数: 452 | 1 现在有一个script,叫做 abcd
我想在命令行中输入:
$abcd `ls *.dat` col_num
~ ~back quote
col_num 是一个要输入的参数.
在script中,我想要利用位置参数来调用这个col_num变量的值。
问题是我还不知道有多少个*.dat文件,因此我不知道col_num的位置参数。
请教大虾:如何能用位置参数来表示col_num?
多谢了! | l**t 发帖数: 452 | 2 补充:
可以把col_num放在文件列表之前。
这个方法我也想到过了,但是我还是想把它放在后面。
各位还有什么高招吗?
我想可能还是怎么利用 quotes, double quotes, back quotes 的问题.
【在 l**t 的大作中提到】 : 现在有一个script,叫做 abcd : 我想在命令行中输入: : $abcd `ls *.dat` col_num : ~ ~back quote : col_num 是一个要输入的参数. : 在script中,我想要利用位置参数来调用这个col_num变量的值。 : 问题是我还不知道有多少个*.dat文件,因此我不知道col_num的位置参数。 : 请教大虾:如何能用位置参数来表示col_num? : 多谢了!
| e***e 发帖数: 38 | 3 in bash, $# gives you the number of arguments
so $($#) shall be the last argument.
【在 l**t 的大作中提到】 : 补充: : 可以把col_num放在文件列表之前。 : 这个方法我也想到过了,但是我还是想把它放在后面。 : 各位还有什么高招吗? : 我想可能还是怎么利用 quotes, double quotes, back quotes 的问题.
| l**t 发帖数: 452 | 4 兄弟,不行呀。
> echo $\($#\), $"$#", $'$#', $6
> $6, $6, $6, file123.dat
anyway, thank you!
【在 e***e 的大作中提到】 : in bash, $# gives you the number of arguments : so $($#) shall be the last argument.
|
|