

至急教えていただけませんでしょうか。
環境構築の練習で、Dockerを使って作業を行っていました。
(https://qiita.com/ucan-lab/items/56c9dc3cf2e6762 …
進めてる中、「exec winpty bash」コマンドを打っても途中で引っかかってしまい、以下URLのことを試しました。
(https://qiita.com/yKanazawa/items/866c1e4ef024be …
しかし、aliases.shを上書きしてはいけないことを見落としてしまいそのまま上書きした結果、Git bashを起動→ウィンドウが開いてすぐに消える状態になってしまいました。私の浅知恵では解決することができないので、ご教授いただけませんでしょうか。
よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
> いじったのはwindows側なので、どちらかというと直すならそちらかなと思った
ああ、じゃあ分かりませんねぇ。
一応、Dockerって仮想マシンの一種なんでしょうが、多分動いてるのはLinuxなんですよね。だから「Linuxの常識」でお話します。
まず、*.shと言うファイルなんですが、これは一般に「シェルスクリプトファイル」と呼ばれます。MS-DOS/Windowsで言うbatファイルに当たります。
また、aliases(エイリアス)と言う名前なんですが、これは平たく言うと「ショートカット」の事ですね。あるいは「別名」って事なんですが。Linuxだと端末上で走らせる複数のコマンドを1つにまとめたり、あるいはあるコマンド名を「気に食わないから」とか別名にしたりする事をエイリアス、と言うんです。
例えばあるディレクトリ内のファイルを全表示させるのはMS-DOS/WindowsではdirですがLinuxではlsです。ただ、Linuxではlsをdirとエイリアスを作る事が出来る。そうすればWindows/DOSと同じコマンド名でLinuxを使うことが出来る・・・とかそういう「イタズラ」が出来るわけなんですよ。
従って、aliases.shってのは「使いまわしたいんだけど打つコマンドが長すぎるんで、短くしたブツを定義したい」目的でシェル(Linuxで言うとDOS窓みたいなブツ)に読み込ませる為のモノで、そう考えると、これを「上書き」したから、と言って必ずしもシェルが落ちるような事になる筈が無いんです。
で、参照ページは一応読んだんですが、
> aliases.shのファイルは上書き禁止になっているので注意が必要。
と言うのは「上書きしてはいけない」って意味じゃないんです。
そうじゃなくって、Linuxの種々のソフトのデフォルトの設定ファイルが入ってる/etcフォルダ内のファイルを弄る場合は「管理者権限が必要だ」って意味なんですよ。
現在のWindowsではC:\Program FilesとかC:\Program Files(x86)のファイルに対して操作する場合、「管理者権限が必要」になってるんですが、Linuxの場合はもっと厳しくって、ぶっちゃけhomeフォルダと言う作業フォルダ直下以外の場所は全部「管理者権限が必要」なのです。元々、UNIX/Linuxは「マルチユーザー前提」なんで、作業場所の/homeフォルダ以外はユーザーに「触らせない」ように設計されています。Windowsがパンティだけ穿いてる裸の女だとしたらLinuxは重装備、まるでアラブ人の女、です。そういう設計思想の違いがある。
従って、実は件のページ
https://qiita.com/yKanazawa/items/866c1e4ef024be …
はちょっとおかしくって、/etc/内にあるファイルを「直接変更しろ」って指示はフツーはしないんですよ。Linuxを普段使ってる側からすると「???」とか思います(まぁ、もちろん、Dockerの設計がLinuxをベースとしながら「色々と違うトコがある」可能性は捨てきれませんけれども)。
一応、「Linuxの常識」としては、管理者権限がある場所に置かれたファイルを「上書き可能」とは言え、直接弄るのは好みませんので、「追加設定が必要な場合」は全部homeフォルダに適したファイルを作って置くのが流儀となります。そうすれば、マルチユーザー前提のOSである以上、Aと言うユーザーが好みで行った設定はBと言うユーザーの環境には影響を与えない。そういう風に「ユーザー毎に好きなように環境を設定出来る」のがLinuxの特色なのです。
んで、フツーはユーザーがaliasを設定する場合、.bash_profileってファイルを/homeフォルダ内に作成します。
詳しくは次のページに譲りますんで、Dockerの再インストールを試みるのなら、参考にしてみて下さい。
【Linux】エイリアスの設定方法:
https://qiita.com/yKanazawa/items/866c1e4ef024be …
No.1
- 回答日時:
良く分からんのですが、aliases.shを上書きしたら駄目になった、って事ですかね?バックアップは取ってない?
(何か設定ファイルを変更する場合、バックアップファイル(例えば*.bkとか)を作っておくのは定石です)。
上書きしたのが問題だったら、単純に
1. もう一回Dockerをインストールし直す
2. どっかからaliases.shをコピーしてきて、そいつをツッコむ
のどっちか、が有効な手でしょう。
完全にオリジナルかどうか知りませんが、次のページを発見しました。
jgrodziski/docker-aliases.sh:
https://gist.github.com/jgrodziski/9ed4a17709baa …
一回、こいつをaliases.shと言うファイルにコピペしてみて、所定の位置に置いて、上手く行くかどうか見てみてください。
(違ったら原因は別にあって、素直にDockerを再インストールした方が良いと思います。)
ご回答ありがとうございます。
仰る通り、バックアップは取らずに誤って上書きしてしまった状況です・・・
Dockerのaliases.shというよりは、いじったのはwindows側なので、どちらかというと直すならそちらかなと思ったのですが、これをコピペしてしまって大丈夫なものでしょうか?
Docker再インストールですか・・・Git側の再インストールはしましたがそちらはしていませんでしたので、やってみようと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- オープンソース php-Laravelのインストールについて 1 2022/08/13 01:08
- オープンソース コマンドプロンプトのコードの実行方法を教えて欲しい 2 2022/11/26 20:45
- その他(プログラミング・Web制作) ログインシェル時のSHELL環境変数 1 2022/06/08 19:21
- UNIX・Linux Kali Linuxで起動できない - Minimal BASH Like Line Editing 1 2022/06/03 13:14
- PHP Laravelだと、簡易なログイン機能であればコマンド1発でサクッ 1 2022/05/21 23:09
- その他(SNS・コミュニケーションサービス) 書き込んだ場合、同サイトの同ページに出てこない? 1 2022/05/24 02:44
- UNIX・Linux 実行の仕方及び実行結果が分かりません。 2 2022/11/17 19:31
- ASP・SaaS イントラネットを構築したい 2 2022/04/24 11:08
- その他(プログラミング・Web制作) dockerとは? 新しい配属先でテレワークになり、テレワーク用のpcにdockerを入れたのですが 2 2022/09/22 07:54
- その他(プログラミング・Web制作) Linuxについて質問です。 引数に指定されたアクセスログのファイルからアクセス数が多い順に上位3つ 1 2023/02/03 03:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba クリップボードクリアにつ...
-
数学、プログラミング、物理、...
-
画像生成AIのプロンプトの作り...
-
Python... 環境設定 初心者です...
-
OS入ってる機器のソフト・アプ...
-
pip --versionがエラーになる
-
パイソンのソースコードをChatG...
-
pythonの実行に関する質問
-
Python 3.12.2 か一番最新のパ...
-
CSVファイルの複数行削除
-
Webサイト内に埋め込んだmp4動...
-
ExcelVBAでFormulaR1C1を列範囲...
-
Pythonのエラーメッセージをコ...
-
ネットワークフォルダの中身を...
-
Pythonで仮想通貨の自動売買が...
-
AIの登場でプログラマーたちが...
-
Google ColaboでGUI作成
-
Pythonについて。
-
HTMLソースが表示のページのも...
-
MOVEコマンドでサブフォルダー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba クリップボードクリアにつ...
-
CSVファイルの複数行削除
-
OS入ってる機器のソフト・アプ...
-
Python 3.12.2 か一番最新のパ...
-
pythonの実行に関する質問
-
パイソンのソースコードをChatG...
-
画像生成AIのプロンプトの作り...
-
数学、プログラミング、物理、...
-
pip --versionがエラーになる
-
Google ColaboでGUI作成
-
Python... 環境設定 初心者です...
-
HTMLソースが表示のページのも...
-
ネットワークフォルダの中身を...
-
MOVEコマンドでサブフォルダー...
-
google Colabでmatplotlibの描...
-
VBAでパワーシェルを実行したい...
-
Pythonでの文字列からfloatへの...
-
Webサイト内に埋め込んだmp4動...
-
初心者powershellのPS1ファイル...
-
pythonについて(初心者です)
おすすめ情報