2017-02-17 114 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