将文件内容传递给linux命令参数

时间:2016-04-24 15:57:13

标签: linux bash shell ubuntu

我将随机生成的密码存储在/tmp/mysqlpwd.txt

我想在自动安装中将该文件的内容设置为密码。 我试过了:

sudo debconf-set-selections <<< "mysql-server mysql-server/root_password password $(cat /tmp/mysql_passwd.txt)"

但密码只是$(cat /tmp/mysql_passwd.txt)

我也尝试在$(cat /tmp/mysql_passwd.txt)周围使用反引号,但密码会添加反引号。

如何将文件内容传递给命令?

1 个答案:

答案 0 :(得分:2)

这段代码已经写好了(虽然它将内容放在stdin而不是参数上,这就是debconf-set-selections所期望的。)

您可以通过以下方式进行测试:

echo "hello world" >file
cat <<<"content follows: $(cat file)"

......以上的输出是:

content follows: hello world

顺便提一下,当您的shell被称为bash时,您可能会将$(<file)视为$(cat file)的更有效替代。