sudo権限で現在のシェルでシェルスクリプトを実行する
2023-09-03 08:51:32
質問
現在のシェルでシェルスクリプトを実行するために、ピリオド
.
または
source
というコマンドで実行できます。しかし、なぜsudo権限で動作しないのでしょうか?
という実行権限を持つスクリプトがあります。
setup.sh
. ピリオドを使うと、こうなります。
$ sudo . ./setup.sh
sudo: .: command not found
sourceコマンドでも同様のエラーが発生します。何か見落としているのでしょうか?同じシェルでsudo権限でスクリプトを実行するにはどうしたらよいでしょうか?
前もってありがとうございます.
どのように解決するのですか?
あなたがやろうとしていることは不可能です。現在のシェルは、通常のユーザー ID で実行されています (つまり、root のアクセス権がなく
sudo
が与えるアクセス権なし)、そして
root アクセスを許可する方法はありません。
. 何
sudo
は、root として実行される新しい *sub*process を作成します。このサブプロセスは単なる普通のプログラム (例えば
sudo cp ...
を実行します。
cp
プログラムをルートプロセスで実行します)、あるいはルートサブシェルかもしれませんが、それは
はできません。
は現在のシェルではありません。
(実際にはそれ以上に不可能です。
sudo
コマンド自体は現在のシェルのサブプロセスとして実行されるため、ある意味ではすでに手遅れで、現在のシェルでは何もできないことを意味しています)。
関連
-
linux(ubuntu 18.04)でのアイデア運用データベース障害問題について
-
Deepin20システムのフォントを設定するには?Deepin端末のフォントサイズを設定する方法
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] LinuxのシェルスクリプトでYes/No/Cancelの入力を促すにはどうしたらいいですか?
-
[解決済み] Bashシェルスクリプトの入力引数の存在確認
-
[解決済み] シェルスクリプトでYYYY-MM-DD形式の日付にする
-
[解決済み] シェルスクリプトでブール変数を宣言して使用するにはどうすればよいですか?
-
[解決済み] シェルスクリプトで部分文字列を別の文字列に置き換える
-
[解決済み] Bashスクリプトでカレントディレクトリ名(フルパスなし)を取得する
-
[解決済み】vimの「sudoで書く」トリックはどうやるの?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Linux ddコマンド詳細説明:データのバックアップ、およびバックアッププロセスでのフォーマット変換のケース
-
Linuxにおけるxinetdサービスの管理方法に関するケーススタディ
-
Linuxのデスクトップの背景を画像で引き伸ばし表示にする方法とは?
-
Linux MintのデスクトップでNoteをイタリックにすることは可能ですか?
-
deepin depth systemはどのような内容でアップデートされましたか?deepinの最新版アップデート内容まとめ
-
linux(ubuntu 18.04)でのアイデア運用データベース障害問題について
-
deepin20のデスクトップアイコンのスタイルを変更する方法は?deepinのアイコンテーマを変更するためのヒント
-
[解決済み] WindowsからLinuxへのscpにputtyを使用する
-
[解決済み] Bashでファイルの中身をループする
-
[解決済み] Linux で grep を使ってファイル名だけを表示するにはどうしたらいいですか?