下記の要件を満たすシェルスクリプトを作成したいです。
シェルスクリプト初心者で、調べながら試行錯誤しておりますが自分の力量では解決ができそうにありません。
お力添えいただけますと幸いです。
[要件]
・スクリプト名 chmod.sh
・実行方法 $ ./chmod.sh
・/home/infrauser/infradirXX 直下の任意ファイル(画面入力にて指定)を、任意パーミッション(画面入力にて指定)に変更。
・シェルスクリプト実行時間(yyyy/mm/dd hh:mm:ss形式)、変更前パーミッション、変更後パーミッションを画面に出力。
[実行イメージ]
変更したいファイル名
kadai7_3_1.txt
変更したいパーミッション
644
[実行結果]
[date ] 2020/4/27 21:12:38
[before] -rwxr-xr-x 1 infrauser infragrp 244 4月 27 21:20 kadai6_3_1.txt
[after ] -rw-r--r-- 1 infrauser infragrp 244 4月 27 21:20 kadai6_3_1.txt
#スクリプト内
#!/bin/sh
echo -n '[date ] ';
date '+%Y/%m/%d %H:%M:%S';
echo -n '[before] ';
ls -l 'kadai6_3_1.txt';
chmod 644 kadai6_3_1.txt;
echo -n '[after ] ';
ls -l 'kadai6_3_1.txt';
#実行後
[ infrauser@infrastd1s:/infradir99 ] ./chmod.sh/infradir99 ]
[date ]2023/0912 12:57:48
[before]ls: cannot access kadai6_3_1.txt: No such file or directory
chmod: cannot access kadai6_3_1.txt’: No such file or directory
[after ]ls: cannot access kadai6_3_1.txt: No such file or directory
[ infrauser@infrastd1s:
#改善すべきところ
任意のファイル・パーミッションを入力後、更新前後の内容を出力しなければならず
そのためにスクリプト内にて、echoや変数を用いるのでしょうがやり方がわかりません…
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/09/12 06:27
2023/09/13 00:40