Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是=>;在我的bash脚本中是什么意思_Bash - Fatal编程技术网

什么是=>;在我的bash脚本中是什么意思

什么是=>;在我的bash脚本中是什么意思,bash,Bash,我在bash脚本中有这一行,但我不明白“=>”是什么意思?我不认为这意味着等于或大于,但也许是这样。想法 "echo '\"postgres\" => { \"archive_timeout\" => 300, \"backup\" => 1, \"base_backup_interval\" => 3600, \"restore\" => 1 },' >> /tmp/user_data.config\n", =>是要回显的字符串的一部分。尝试在BAS

我在bash脚本中有这一行,但我不明白“=>”是什么意思?我不认为这意味着等于或大于,但也许是这样。想法

"echo '\"postgres\" => { \"archive_timeout\" => 300, \"backup\" => 1, \"base_backup_interval\" => 3600, \"restore\" => 1 },' >> /tmp/user_data.config\n",

=>
是要回显的字符串的一部分。尝试在BASH中运行该命令(开头不带
”,结尾不带
\n“,
),您将看到它只是回显字符串并将其附加到
/tmp/user\u data.config

$ echo '\"postgres\" => { \"archive_timeout\" => 300, \"backup\" => 1, \"base_backup_interval\" => 3600, \"restore\" => 1 },' >> /tmp/user_data.config
$ cat /tmp/user_data.config
\"postgres\" => { \"archive_timeout\" => 300, \"backup\" => 1, \"base_backup_interval\" => 3600, \"restore\" => 1 },

它没有任何意义,因为它在一根线里面。考虑:

$ echo 'foo'
foo

$ echo 'foo => bar'
foo => bar
=>
没有任何意义;它只是
echo
写入其输出的字符串的一部分

在代码中,
echo
命令及其字符串参数后跟
>/tmp/user_data.config
,这意味着输出将附加到
user_data.config
文件中。像这样:

$ touch /tmp/out.txt
$ echo 'foo => bar' >> /tmp/out.txt
$ echo 'baz => qux' >> /tmp/out.txt
$ cat /tmp/out.txt
foo => bar
baz => qux

他们只是在user_data.config文件中添加了一个字符串,这看起来就像该行包含一个字符串,该字符串包含/生成一个shell echo命令,该命令将Perl哈希元素添加到文件中。有点深奥!嘿,唐纳德;请花一点时间解释你投反对票的原因,以便我能借此机会改进我的答案。不是我的反对票,而是显示了一个包含echo命令的字符串,而不是echo命令。这是不同的。总体结论“它是字符串的一部分,没有其他意义”是正确的。是的,我认为回答这个问题比询问用户这个代码来自何处以及为什么要加引号要好。