[解決済み] sudoで2つのコマンドを実行するには?
2022-05-10 11:14:34
質問
コマンドラインから2つのDb2コマンドを実行する方法はありますか?(これらは、PHP の
exec
コマンドを使用します)。
-
db2 connect to ttt
(2番目のコマンドを実行するには、接続が有効である必要があることに注意してください。 -
db2 UPDATE CONTACT SET EMAIL_ADDRESS = '[email protected]'
こんなことをやってみました。
sudo -su db2inst1 db2 connect to ttt; db2 UPDATE CONTACT SET EMAIL_ADDRESS = '[email protected]'
最初のコマンドは正しく終了しますが、2番目のコマンドはエラーメッセージで失敗します。
SQL1024N A database connection does not exist. SQLSTATE=08003
phpのユーザーで実行する必要があることに注意してください。コマンドは
sudo -u db2inst1 id
として
php
ユーザは正しい出力をしてくれます。
解決方法は?
sudoは、例えばシェル経由で複数のコマンドを実行することができます。
$ sudo -s -- 'whoami; whoami' です。 ルート ルート
コマンドは次のようなものになります。
sudo -u db2inst1 -s -- "db2 connect to ttt; db2 UPDATE CONTACT SET EMAIL_ADDRESS = '[email protected]'".Db2 connect to ttt; db2 UPDATE CONTACT SET EMAIL_ADDRESS = '[email protected]'"
sudoのバージョンで、-sでセミコロンが使えない場合(特定のオプションでコンパイルすると使えないらしい)には
sudo -- sh -c 'whoami; whoami'
これは基本的に同じことをしますが、シェルの名前を明示的に指定します。
関連
-
[解決済み] nohupプロセスを終了させる方法を教えてください。
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで文字列をデリミターで分割するには?
-
[解決済み] sudoを使わずにnpmがエラーを投げるのを修正する方法
-
[解決済み】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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ZIPエラー - 何もできない
-
[解決済み] bash : cd : 引数が多すぎる [閉店].
-
[解決済み] Bashで文字列から改行を削除する方法
-
[解決済み] Homebrewは最新ですが、`could not link` + `delete path` のエラーは気にしなくていいのでしょうか?
-
[解決済み] bashスクリプトで変数の束縛を解除
-
[解決済み] bash file returns unexpected token `$'dottpr''
-
[解決済み] "[0: コマンドが見つかりません]" in Bash [重複].
-
[解決済み] ファイル内の大文字・小文字を区別しない文字列を grep するには?
-
[解決済み] Grep 'binary file matches'. どうすれば正常なgrepの出力が得られるか?[重複]する
-
[解決済み] MINGW64 "make build" エラー。"bash: make: コマンドが見つかりません"