创建一个末尾没有换行符的文本文件

创建一个末尾没有换行符的文本文件

我正在使用ldapsearch-y选项,从文件读取 ldap 服务器的密码,以确保密码不会留在命令历史记录中。

ldapsearch要求密码位于没有换行符的文件中。我知道的唯一方法是:

echo -n "myreallysecretpassword" > /path/to/password.txt

但显然这会将密码放入命令历史记录中,而这正是我想要避免的。

我认为有更好的方法,有人可以给我指明正确的方向吗?

答案1

按照您需要的方式创建文件,然后只需打印它而不使用换行符。

cat pw.txt | awk'{printf $1}'

或者

printf `cat pw.txt`

答案2

您可以使用 read 以半安全地输入中间变量:

read -s tempvar # enter your password and press enter - it will not echo back
echo -n $tempvar > pw.txt
unset tempvar

当然,如果你主要担心命令历史记录,你可以在 bash 中禁用它,如下所示:

export HISTFILE=

相关内容