このスクリプトを使用しました
#!/bin/bash
X='$( cat etc/passwd | cut -f1 -d: )' #All-users
For X in /export/home/*/.bashrc ; do
echo "$HOME/.profile'" >> $X
$X 2>/dev/null
done
source $X
exit 0
ところで、エラーが発生し、目的の内容が印刷されませんでした。
./ja1.sh: line 3: syntax error near unexpected token `do'
./ja1.sh: line 3: `For X in /export/home/*/.bashrc ; do '
このスクリプトを使用する主な目的は、rootユーザーのスクリプトを使用してすべてのユーザーのファイルを一度に印刷することです$HOME/.profile
。.bashrc
スクリプトを試しましたが、1人のユーザーにのみ機能します。
echo "$HOME/.profile" >> /export/home/test/.bashrc
答え1
スクリプトを実行すると、いくつかのエラーが見つかりますshellcheck
。
その後、問題をさまざまな部分に分割します。
- ユーザーのホームディレクトリのリストを取得する関数を作成します。
- ユーザーホームディレクトリのリストが与えられたら、ファイルをコピーする関数を作成します。
- 上記の内容を組み合わせてプログラムを作成します。
まず、これを行っても問題がある場合は、もう一度アクセスしてください。