Alias

如何將參數傳遞給“源”命令?

  • March 1, 2018

source在 CShell 中的命令是這樣的:

source /directory/of/script/script.csh

script.csh執行和之間,等待我的密碼確認身份。

我厭倦了每次必須輸入密碼source。因此,由於我的密碼是不變的,我正在考慮創建一個別名,如下所示:

alias <alias name> 'source /directory/of/script/script.csh; <my password>'

唯一的問題是,它沒有輸入我的密碼,因為從技術上講,它my password是在source.

我該怎麼做?

如果有人需要任何進一步的資訊,我很樂意提供。


script.csh編輯:不能修改原始密碼以排除密碼,因為我無權進行此類更改。


編輯(2):實際需要是在執行時將一個值(一個特定的數字,取決於我在此之後要做的事情)傳遞給 shell 腳本script.csh,而無需使用者干預。

我使用了“密碼”這個詞,因為使用該範例更容易解釋,因為身份驗證通常程序之間重複詢問,每次嘗試某事時,如果沒有它,執行就不會繼續,或者如果給出了錯誤的輸入。而且,我的情況是同義詞:我必須為腳本提供輸入才能繼續,如果輸入錯誤,它就會停止。

解決:感謝這個答案。我能夠將我的輸入輸入到源命令,從而消除我的干預。我創建了一個腳本來執行我想做的其他一些事情,並將其添加到別名中,並且工作正常。

有效的命令是:

echo $arg1 | source /directory/of/script/script.csh | tee /log-file/destination/filename.dat

tee命令允許我將源命令的輸出擷取到.dat文件中。為了其他尋求類似解決方案的人的利益,另一個快速的想法:可以將任意數量的參數傳遞給命令,但請注意按照呼叫/詢問的順序傳遞它。

另外,我同意其他人已經指出的內容,像這樣輸入您的憑據和腳本以避免每次都重新輸入並不是一個好主意。

引用自:https://unix.stackexchange.com/questions/113611