如果你這樣做(在bash):bash命令行的env瓦爾
ENV_ONE=1 ENV_TWO=2 command
command
將接受並在其調用使用環境變量。但是,如果你這樣做:
ENV_ONE=1 ENV_TWO=2 clear && command
clear
會消耗ENV乏設置在命令行上,他們將不會被傳遞到指揮。
alias command='clear && command'
我周圍的一派,我無法找到一個表示之前的命令ENV瓦爾一個bash內置的:如果你想要做這樣的事情是一個問題。我的問題是:如何將CLI聲明的env vars傳遞給第二個命令?
明確然後設置它們? '清除&& ENV1 = .. ENV2 = ...命令'? –
僅僅因爲你可以在沒有任何中間邏輯的情況下執行多個聲明,所以我不明白你爲什麼會這樣做,因爲它與bash中的其他任何東西都不一致。所以只需執行'ENV_ONE = 1 && ENV_TWO = 2 &&清除&&命令'或'ENV_ONE = 1; ENV_TWO = 2;清除&&命令'取決於你是否真的需要他們互相依賴 – BroSlow
@BroSlow,'ENV_ONE = 1; foo'與'ENV_ONE = 1 foo'不一樣。它們做了不同的事情:前者設置了一個shell變量,即使在命令完成後該變量仍然存在;後者僅爲命令「foo」的執行設置一個環境變量。 –