如果美元符號是貼上命令的第一個字符,則刪除它

如果美元符號是貼上命令的第一個字符,則刪除它

在給出 shell 命令的範例時,人們通常會在每行前面加上前綴 來$說明它應該在終端機中運行。最近我遇到了它這個 Github 頁面

$ sudo apt-get install curl netcat-openbsd bc pv
$ wget https://raw.githubusercontent.com/neutronth/speedtest-lite/master/speedtest-lite

當這些行被三次點擊時,美元符號(作為該行的一部分)當然是選擇的一部分。有沒有辦法設定我的終端(我正在使用終結者),以便 if$是命令的第一個字符,忽略它?

答案1

我開始回答這個問題,結果比我想像的複雜一些。使用一點 bash 魔法:

    cat file | while read x; do OUTPUT=$(echo $x | sed 's/^.//'); eval $OUTPUT; done

其作用是將檔案列印到標準輸出,讀取每一行,刪除第一個字符,並將結果儲存在 $OUTPUT 中,然後使用 eval 將 $OUTPUT 中的行作為命令運行。使用 eval 時要小心,該腳本將作為命令運行整個文件。

相關內容