sudoコマンドについて質問があります。
Bシェルでtxtファイル内にあるユーザ名、実行コマンドをsudoを用いて実行する処理を作成していますが、sudoコマンド実行時にエラーが出てしまいます。
以下に実装したいことを記載します。
<実装したい内容>
txtファイル内にユーザ名と実行コマンドを準備します。
txtファイルからcutコマンドを使用し、ユーザ名と実行コマンドを抜き出し、変数に格納します。
ここでの区切り文字は「,」とします。
ユーザ名と実行コマンドがそれぞれ格納された変数を使用して、sudoコマンドを実行します。
以下ソースコード
----------------------------------------------------
#!/bin/bash
Line=" "
User=" "
Com=" "
cat test.txt | while read Line
do
User=`echo "${Line}" | cut -d , -f 1`
Com=`echo "${Line}" | cut -d , -f 2`
echo "${User}"
echo "${Com}"
sudo -u ${User} -i ${Com}
done
exit
----------------------------------------------------
test.txtの内容
root,ps -ef
root,ps -ef | grep user
----------------------------------------------------
変数に格納したコマンドを実行する際、一行目のコマンド「ps -ef」は正常に処理が行われるのですが、二行目の「ps -ef | grep user」はエラー(Garbage option)が発生し処理が行われません。
実行詳細を見たところ、コマンドを変数に格納する時は「ps -ef | grep user」で格納されているが、
sudoで実行すると「ps -ef '|' grep user」とパイプの部分に「'」が付与されてしまいます。
どうしたら正常に処理を行うことができるのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux linuxサーバーのキャッシュをクリアするコマンドを実行したい。 5 2023/01/24 14:52
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- UNIX・Linux UbuntuにROSをインストールしたい 1 2023/03/06 12:28
- UNIX・Linux AWSのEC2のZabbixユーザーでawscliコマンドが実行できない状態を解決する 1 2022/12/06 22:17
- UNIX・Linux ubuntuに外部侵入できるか 2 2022/04/09 12:48
- UNIX・Linux bashでブランク(空白)を検索文字列として指定する方法 1 2022/04/13 22:29
- UNIX・Linux shellscript内のコマンドを、sudo(toor)として実行 2 2022/09/23 15:05
- その他(コンピューター・テクノロジー) (コマンドプロンプト)コマンドプロンプトのactiveについて 2 2022/07/16 17:21
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- Windows 10 【Windowsのquery=user:●●;date:先週から;ファイル操作ログの該 1 2023/05/23 18:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイル
-
C言語で、string.h conio.hを使...
-
CPRMでコピーしたDVDを再コピー...
-
コマンドプロンプトをクリック...
-
findstrでヒットした1行前の文...
-
make test って何をするための...
-
コマンドプロンプトで、特定の...
-
バッチ終了時にDOS窓を閉じるコ...
-
バッチファイルでdiskpart.exe...
-
バッチファイル 文字列にスペ...
-
コマンドプロンプトとCygwinの違い
-
FTPでUNIX上のシェルを起動する...
-
ショートカットをデスクトップ...
-
コマンドプロンプトのERRORLEVE...
-
ftpコマンド出力結果の取得
-
powershellでlinuxのduコマンド...
-
バッチコマンドのIF文(条件...
-
大量のフォルダからひとつのフ...
-
コマンドプロンプトの「%1」と...
-
stable diffusionのインストー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ終了時にDOS窓を閉じるコ...
-
バッチファイル 文字列にスペ...
-
ショートカットをデスクトップ...
-
make test って何をするための...
-
コマンドプロンプトをクリック...
-
バッチコマンドのIF文(条件...
-
シェルの「:コマンドが見つか...
-
findstrでヒットした1行前の文...
-
ftpコマンドを実行すると「425 ...
-
Pythonで単純にファイルを結合...
-
コマンドプロンプトで、特定の...
-
コマンドプロンプトでファイル...
-
コンピュータ名をファイル名に...
-
バッチファイルを使ってテキス...
-
SSH接続でwindowsサーバのコマ...
-
バッチファイルで実行コマンド...
-
フォルダ、ファイル操作に最適...
-
バッチファイルでdiskpart.exe...
-
2つ目の「pause」は無効?
-
AccessVBAで実行時間を指定する...
おすすめ情報