我需要在脚本中使用 set -x 来显示日志中执行的命令
但有一个变量是密码,因此该密码显示在计划文本中
有没有办法只隐藏一个变量?
IE:
脚本:
pas=test123
set -x
mysql -uroot -p$pas
输出:
[root@server1]# ./teste.sh
++ mysql -uroot -ptest123
我想test123
从输出中删除。
我需要在脚本中使用 set -x 来显示日志中执行的命令
但有一个变量是密码,因此该密码显示在计划文本中
有没有办法只隐藏一个变量?
IE:
脚本:
pas=test123
set -x
mysql -uroot -p$pas
输出:
[root@server1]# ./teste.sh
++ mysql -uroot -ptest123
我想test123
从输出中删除。
创建一个
~/.my.cnf
:现在,您可以在不使用脚本中的
-u
和标志的情况下登录。-p
请注意,这不仅仅是
set -x
脚本的输出有问题,而且在大多数系统上,所有正在运行的进程的命令行参数对ps
任何用户都是可见的,这使得在其中传递密码完全不安全。MySQL手册中的选项下也提到了这一点--password
: