私は学生にUnixオペレーティングシステム(およびLinux)の基本を4週間教えてきました。次に私は彼らに宿題を与えたいと思います。今回が初めてなので、質問や課題は難しくありません。私の唯一の実際の目標は、学校、家、どこでも誰もが自分のUnix環境にアクセスできるようにすることです。また、彼らがお互いの答えをコピーしたことを確認したいと思います。彼らはコピーして共有するのが好きです。
学生が答えを書くことができる紙が提供されます。最初の質問は「1. 名前、学番2番目は次のとおりです。
」2. 次のコマンドの出力は何ですか?」
whoami
、、、who
またはwho|tail -1
短くするために同じコマンドを考えてみましたが、hostname
すべて弱点があります。
背景知識:学校には独自のUnixユーザーアカウントがなく、他のワークステーションで同じユーザー名を使用します。対話型サーバーもありません。一部の学生は、Linuxがインストールされた起動可能なフラッシュドライブを持っています。 MacBookをお使いの方もいらっしゃいます。ほとんどの学生には、Unixの使い方を知っている友人が1〜2人います。
だから私は2番目の質問のアイデアを探しています。私はその答えが本物であり、誰もがUnixを直接使用していることを確認したいと思います。
答え1
問題を段階的かつ相互依存的にすることができます。したがって、次のことができます。
実行し
MAGIC=$(uuidgen)
、出力を提供します。echo $MAGIC
出力は次のとおりです。
MAGIC_NUMBERS=$(printf '%d\n' "0x$(echo $MAGIC | cut -d- -f1)") echo $MAGIC_NUMBERS
出力は次のとおりです。
echo "$MAGIC_NUMBERS * 3" | bc
次のコマンドを修正して出力を提供します。
bc <<< $MAGIC_NUMBERS - 4 >> $MAGIC && cat $MAGIC
明らかに、同じセッション内で質問に順番に答える必要があることをどこかに指定する必要があります。
$MAGIC
変数が繰り返される確率はuuidgen
ごくわずかですが、ここで使用する処理コマンドの一部は少し難しいです。 bc
.
答え2
コメントで述べたように
uname -a ; who am i
uname -a
システムに関する情報提供
Linux mybox 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
who am iw
Unixユーザーに教えてください
archemar pts/0 2014-09-15 09:41 (172.16.17.77)
もちろん、これは学生の間で複製することができます(たとえば)。
Linux anotherbox 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
uname -a列を並べ替えると、誰が答えを共有しているかを推測できます(何千人もの学生がいない場合)。