ref: https://wiki.bash-hackers.org/howto/redirection_tutorial
本篇是個 Linux 相關的教學文,專注於透過視覺化的方式來教學到底 shell 上常常使用的 >, 2>&1 等差異是什麼。
舉例來說,你能不能清楚的說出下列兩種用法的差異,實際上 fd 到底會怎麼運作?
1. > file 2>&1
2. 2>&1 > file
亦或是某些 shell script 常看到 exec 2>log 到底是什麼意思?
本篇文章解釋得非常清除,透過 /dev/pts 這種 pseudo terminal 為起點,將 0(stdin), 1(stdout), 2(stderr) 三個 fd 給視覺化呈現。
基於這個概念開始探討下列不同指令實際上 fd 會有什麼變化
# Simple Redirections
">" 應該是最為簡單也最廣為人知的用法,command > file 的方式將輸入(stdout)給導入檔案(file)。
那加上數字後會有什麼變化呢? 譬如 command 1>file, command 3>file ?
下一個不能不知的就是 pipe 的概念,透過 pipe 能夠組合出各種指令來解決問題,到底 pipe(|) 的過程中這些 fd 是什麼變化?
# More On File Descriptors
另外一個很常被問到的用法就是,有沒有辦法將 stderr 跟 stdout 一起輸出?
這時候可能就會看到 1>&2 2>&1 等各種答案,那到底這些語法的背後是什麼意思?
非常推薦所有人都仔細閱讀這篇文章重新複習/學習這類型操作的底層變化。
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
shell script語法 在 軟體開發學習資訊分享 Facebook 的最讚貼文
shell script 常用來開發重複性的自動化任務,但是在編輯器中沒有像其它程式語言一樣有錯誤語法檢查功能,這個開源工具實現了這個功能,並支援流行的編輯器如 vim / vscode
shell script語法 在 軟體開發學習資訊分享 Facebook 的精選貼文
shell script 是一個很方便用來寫自動化的工具,但是當 shell script 寫太長要 debug 變得有點困難,使用 shellcheck 這個開源工具可以幫你省下不少 debug 的時間,找出潛在的錯誤
ShellCheck 的目標
1 指出並澄清導致 shell 產生神祕錯誤訊息的典型初學者語法問題。
2 指出並澄清導致 shell 行為異常且與直覺相反的典型中級語義問題。
3 指出可能導致高階使用者的工作指令碼在未來環境中失敗的細部警告、corner cases 和陷阱。
🔥 開源報報週年慶優惠活動,訂閱開源報報加送 3 個月
https://softnshare.com/subscriptions/
https://softnshare.com/opensource-shellcheck/
shell script語法 在 Shell Script簡易教學 - 平凡的幸福 的相關結果
Linux 中有許多的Shell可以使用, 如:ksh、bash,但是彼此之間語法有所差異,所以我們首先需要定義使用哪一個Shell。 而第二 ... ... <看更多>
shell script語法 在 「程式筆記」Shell Script 簡易筆記. 參考資料 - Medium 的相關結果
要執行運算式,其語法應為: $((運算式)) : n=1 m=2 echo $((n+m)). 才會輸出 3. 在Bash Shell 中內建原生不支援運算式,但我們可以使用expr、awk 等指令來支援實現 ... ... <看更多>
shell script語法 在 第十二章、學習Shell Scripts - 鳥哥的Linux 私房菜 的相關結果
其實, shell script 是利用shell 的功能所寫的一個『程式 (program)』,這個程式是使用純文字檔,將一些shell 的語法與指令(含外部指令)寫在裡面, ... ... <看更多>