嗨,我正在尝试编写一个脚本,但我收到了与预期不同的输出;
VAR_1=username
VAR_2=password
VAR_3=fancypasWoRD@$!%(115.#
VAR_4=database
mysqldump -u $VAR_1 --password=$VAR_3 $VAR_4
当我使用bash -x script.sh
运行它时,它显示为
VAR_1=username
VAR_2=password
VAR_3='fancypasWoRD@$!%(115.#'
VAR_4=database
mysqldump -u username '--password=fancypasWoRD@$!%(115.#' database
为什么VAR_3
初始化中、--password
之前以及实际密码末尾有单引号?
最佳答案
shell 只是让您知道,这是作为参数传递的文字字符串,并且没有进一步的替换:
$ echo \*
+ echo '*'
$ echo *
+ echo list_of_files in_my_directory
注意:您是否更换了示例中的密码?因为这个有语法错误...
关于bash - Shell 变量串联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22486664/