誰かが私のコマンド言語ソルバーシェルがコマンドの後に空の文字列を表示する理由を教えてもらえますか?
$echo$バージョン
このコマンドを実行した後に
$。 /etc/os-release
コマンドの結果が表示され始めます。
$echo$バージョン
18.04.3 LTS(バイオニックビーバー)
このコマンドの後に何が起こるかを説明できますか?シェルが以前になぜそれをマークしなかったのですか?シェルが今それを表示するのはなぜですか?
答え1
「./etc/os-release」を実行すると、現在のシェルで「/etc/os-release」ファイルのすべての行が実行されます。受け取るファイルには次の行があるようです。この行は環境変数を設定します。セッション「バージョン」:
VERSION="18.04.3 LTS (Bionic Beaver)"
Bashを使用する場合、「source」は「source /etc/os-release」と同じ結果を提供します。
次の内容を詳しく確認できます。https://ss64.com/bash/source.htmlまたはhttps://superuser.com/questions/46139/what-does-source-do