-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Add document for 'Why Learn Shell Script' #9
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Draftだけど、Reviewerにアサインされてるだけで「未レビューです」の通知が鬱陶しいので、いったんレビューします。
print(sys.version) | ||
``` | ||
|
||
→ pythonはインタプリタ型言語なので、シバンが書かれていることによって、ファイル実行できる |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Python。
pythonは英語でニシキヘビのことです。実在する言葉だから、わざわざPを大文字にしてるんです。
|
||
--- | ||
|
||
## おまけ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
「おまけ」じゃないですよね。Shebangは重要な1項目です。
|
||
- env コマンド - set environment and **execute** command, or print environment | ||
- → `PATH=` に記載されていることでパスが通っている | ||
- e.g. `/usr/bin` がある - `$ env | rg /usr/bin` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- e.g. `/usr/bin` がある - `$ env | rg /usr/bin` | |
- e.g. `echo $PATH` |
- → `PATH=` に記載されていることでパスが通っている | ||
- e.g. `/usr/bin` がある - `$ env | rg /usr/bin` | ||
- → パスが通っている = プログラム名だけで実行できる | ||
- e.g. `/usr/bin` の中には `python` がある - `$ ls /usr/bin | rg python` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- e.g. `/usr/bin` の中には `python` がある - `$ ls /usr/bin | rg python` | |
- e.g. `type python` |
## なぜShell Scriptか | ||
|
||
- CLIでの作業を保存、実行 → 自動化 | ||
- OSごとの実行環境を作らずとも、実行できる |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
この利点だとPythonでも良いことになりますよね。
Pythonでも自動化はできるし、OSごとに書き分けたりしません。
Pythonのインストールが必要ですが、それを言ったらsh以外のシェルはたまたま多くの環境に入ってるだけで、
Pythonも多くの環境に標準インストールされてる今、あまり有意な利点とは言えません。
俺が思うに、シェルスクリプト が活きるのはシステムコール(ハードウェア操作、ファイル操作、OSの設定など低レイヤーへの命令)が多い場面です。
Pythonでもファイルの移動できますけど、シェルスクリプトの方がもっと簡単ですよね。
逆にシェルスクリプトの欠点について触れてないのも片手落ちだと思います。
Describe the PR
To close #4 .
Detail of the change
Add
WhyLearnShellScript.md
.Exported PDF with Marp (on Extension of Visual Studio Code).
Anticipated impacts
None.
Additional context
None.