shell 变量值未存储在文件内

shell 变量值未存储在文件内

我编写了以下脚本,它生成随机密码并将其存储在文件中

pass1=</dev/urandom tr -dc _A-Z-a-z-0-9|head -c8
echo $pass1
echo "$pass1" >/tmp/a

上述脚本通过“echo $pass1”命令打印生成的密码。但是创建的 /tmp/a 文件中未存储任何内容。

请让我知道我做错了什么。

答案1

没有必要将密码存储在中间变量中。你只需要在 shell 脚本中添加这一行

</dev/urandom tr -dc _A-Z-a-z-0-9|head -c8 > /tmp/a

我另存为foo.sh,设权限为755,然后在linux下执行...

[mpenning@chestnut ~]$ uname -a
Linux chestnut.he.net 2.6.32.46-1-grsec #1 SMP Fri Sep 2 12:42:23 PDT 2011 x86_64 GNU/Linux
[mpenning@chestnut ~]$ ./foo.sh
[mpenning@chestnut ~]$ cat /tmp/a
qAUezN0-[mpenning@chestnut ~]$

相关内容