在RHEL上,以下命令有效: psql -h主机名-U用户名-p port_no -d数据库-f /tmp/myfile.sql&> logfile01.txt
在FreeBSD上,这将引发错误: “无效的空命令”
请提出建议。
答案 0 :(得分:1)
如果仅在命令行上使用此命令,则无需更改外壳程序。 要将stdout和stderr重定向到C-Shell synthax中的文件,只需使用“>&filename”。
不同的情况是,如果您要编写Shell脚本。 Bourne Shell及其克隆(例如Bash)更适合编写脚本。请参阅此Unix常见问题解答“认为Csh编程有害”:http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/
答案 1 :(得分:0)
此重定向在bash中有效
&> logfile01.txt
,但在FreeBSD中的default shell的 csh 中不起作用。
# set | grep shell
shell /bin/csh
# ls -la &> logfile01.txt
Invalid null command.
默认情况下未安装Bash。您可以install
pkg install bash
,并将其配置为default shell。