
Ubuntu日本語フォーラム

ログインしていません。
このトピックスから若干外れてしまいますが、シェルスクリプトの基本事項について。
ご承知なのは、よくわかっています。これからUbuntuを勉強する方へのチップスと思ってください。
まず基本的に、シェルスクリプトの記述にはsh(/bin/sh)が用いられます。
Unix系はLinuxでもFreeBSDでもSolarisでも、shは標準的に存在します。
ここで、Linux系であるUbuntuでは、shがbashへシンボリックリンクされています。
そこで、shといえども実体はbashです。
bashはshの拡張シェルであり、shの文法は全てbash上で使えますが、逆にshで使用できない文法を
使用すると、他のOSのshでは動作しなくなる可能性があります。
そのため、移植性を重視して共通性を明示する場合、シェル指定として冒頭に#!/bin/sh を明示します。
よって、敢えて従来の文法で記載されています。
NVIDIAドライバーは、広範囲のLinux OSを想定していて、統一されたshの文法を使っていると考えられます。
結果としてどちらでもいいのですが、Ubuntuの場合は本来bashだよと、言っただけです。
オフライン
いいえ。Ubuntuの場合、/bin/shはdashへのリンクです。
オフライン
参照: https://wiki.ubuntu.com/DashAsBinSh
確認
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 2009-11-15 02:47 /bin/sh -> dash
$ ls -l /bin/dash
-rwxr-xr-x 1 root root 101608 2009-09-21 08:49 /bin/dash
$ ls -l /bin/bash
-rwxr-xr-x 1 root root 917960 2009-09-14 14:08 /bin/bash
オフライン
koisan1949 による投稿:
ここで、Linux系であるUbuntuでは、shがbashへシンボリックリンクされています。
そこで、shといえども実体はbashです。
#24で勘違いされている理由がわかりました。
オフライン
mizuno様、si様
ご指摘ありがとうございました。特にsiさんの参照で理解できました。
悪い癖です。思いこみは良くないですね。kzmさん失礼しました。
勉強不足を露呈しました。
オフライン
アンインストールできました。なんとか。
あの、やはりできないのでしょうか?ドライバを使用することは。
オフライン