Unixでパラメータを生成する

Unixでパラメータを生成する

Unixでパラメータを生成する方法

他のユーザーのセッション状態を表示するには、ユーザーIDをパラメータとして受け入れるシェルプログラムを作成する必要があります。

私の質問は「ユーザーIDをパラメータとして渡す」です。

これはバッシュのためのものです。

答え1

シェルの場合、パラメータは位置パラメータと呼ばれます。つまり、ファイル名の後に1つずつ挿入し、挿入された場所に応じて各パラメータに到達します。

位置引数0は常にスクリプトの(ファイル)名であり、与えられた引数は1から始まります.したがって、最初のパラメータを取得し$1、2番目のパラメータを取得する$2方法でこれを実行します。

たとえば、

% foo () { printf '%s\n' "First: "$1" and Second: "$2"" ;}  

% foo spam egg
First: spam and Second: egg

ステートメントでこれを使用するには、if最初のパラメーターのみが考慮されます$1(他のパラメーターにも同様に適用されます)。

if [ "$1" = "foo" ]; then
    ## Dome something
else
    ## Do something else
fi

というスクリプトに入れたとしましょうfoobar.sh。これでスクリプトを実行できます。

./foobar.sh foo
./foobar.sh bar
./foobar.sh blahblah

3つの場合の値はそれぞれ、、、$1です。foobarblahblah

答え2

heemaylの答えに対するあなたの意見から正しく推論すると、現在のユーザーを取得する方法を探しています$USER

この$USER変数は現在のユーザーを文字列として返します。

#!/bin/bash
if [ "$USER" == <something else> ]; then
    #do something IF the current user is equal to whatever string you compare it to
else
    #do something else IF the current user is not equal to whatever string you compare it to
fi

PS:Unix SEは宿題の質問をするのに適した場所ではありません。妥当な質問に加えて、どのトピックについて質問がある場合は、先生に最初に尋ねるのが最善です。

関連情報