运行外部命令时出现问题

时间:2012-01-27 08:38:01

标签: perl

我使用反引号在perl中运行外部命令,但我遇到了问题。

我想要做的是运行

`mount /dev/sdb2 /mnt`

但是当我用这个磁盘运行它时,sdb2只是正确的参数,我希望能够用任何磁盘运行脚本。

该脚本获取有关我使用的源磁盘(在本例中为sdb)的信息,并将其作为" $ source"。但是,当我尝试:

`mount $source /mnt`

它说" mount:你必须指定文件系统类型"

在这种情况下,程序会要求" 2"

如何让脚本找到需要的数字,或者至少如何添加" 2"在" $ source"之后这样

$source = /dev/sdb2 and not /dev/sdb

提前致谢!

1 个答案:

答案 0 :(得分:2)

使用花括号:

`mount ${source}2 /mnt`

NB。确保验证$source的值,以免引入代码注入漏洞。