2017-02-17 75 views
0

我需要wget始终与--no-check-certificate选项一起使用。这可以通过在Unix终端键入以下行来完成:shell脚本的别名

alias wget='wget --no-check-certificate' 

然而,当我执行shell脚本.sh包括wget命令时,原始wget不使用别名之一。我该如何解决这个问题?

+0

考虑在'〜/ .bashrc','〜/ .bash_profile','/ etc/profile'中加入你的'alias'命令 – Sangharsh

回答

3

您必须确保您的别名已定义,其中Shell脚本也在采用它。如果您使用Bash并且Shell脚本使用/bin/bash作为处理器,将文件放入.bashrc文件可能是个好主意。

但是,--no-check-certificate占所有情况的99.9%是一个非常糟糕的想法,因为SSL是有原因的。

另外,我建议不要用自定义别名覆盖常用命令,因为这可能会改变脚本以意想不到的方式依赖的工具的行为。我真的建议修复环境,所以你不需要这种肮脏的黑客攻击。

+0

'wget --no-check-certificate https://github.com/ampl/mp/archive/1.3.0.tar.gz'应该输出一个'1.3.0.tar.gz'文件,但是会输出一个'1.3.0'文件。这个问题是由'--no-check-certificate'选项造成的吗? – Admia

+0

不是,它也不是真的 – frlan

+0

'wget --no-check-certificate https:// github.com/ampl/mp/archive/1.3.0.tar.gz'使'1.3.0.tar .gz'文件,但在'msys'中创建了一个'1.3.0'文件。为什么?输出应该是'1.3.0.tar.gz',否则''.sh'脚本的下一行会中断。 – Admia