GNU/Linux >> Linux の 問題 >  >> Linux

25Linuxシェルスクリプトインタビューの質問と回答

Q:1シェルスクリプトとは何ですか?なぜそれが必要なのですか?

回答:シェルスクリプトは、1つ以上のコマンドを含むテキストファイルです。システム管理者は、日常のタスクを実行するために多くのコマンドを発行する必要があります。これらすべてのコマンドをテキストファイル(シェルスクリプト)に追加して、日常のタスクを完了することができます。つまり、自動化にはシェルが必要です。

Q:2デフォルトのログインシェルとは何ですか?特定のユーザーのデフォルトのログインシェルを変更する方法は?

回答:Linuxのようなオペレーティングシステムでは、「/ bin / bash」は、ユーザーの作成時に割り当てられるデフォルトのログインシェルです。 「chsh」コマンドを使用してデフォルトのシェルを変更できます。例を以下に示します:

#chsh -s
#chsh linuxtechi -s / bin / sh

Q:3シェルスクリプトで使用されるさまざまなタイプの変数は何ですか?

回答:Linuxシェルスクリプトでは、2種類の変数を使用できます:

  • システム定義変数
  • ユーザー定義変数

システム定義変数は、オペレーティングシステム(Linux)自体によって定義または作成されます。これらの変数は通常大文字で定義され、「設定」で表示できます。 " 指図。システム定義変数の値を表示するには、echoコマンドを使用します。例としては、echo$PWDまたはecho$HOMEがあります。
ユーザー定義変数はシステムユーザーによって作成または定義され、変数の値はコマンド「echo $

Q:4標準出力と標準エラーの両方を同じ場所にリダイレクトする方法は?

回答:std出力とstdエラーを同じ場所にリダイレクトする方法は2つあります。これらの方法を以下に示します。

方法1) 2>&1 (#ls / usr / share / doc> out.txt 2>&1)

方法2)&> (#ls / usr / share / doc&> out.txt)

Q:5シェルスクリプトの「nestedifステートメント」の構文は何ですか?

回答:基本的な構文を以下に示します:

if [Condition]
then
command1
command2
…..
else
if [条件]
then
command1
command2
…。
else
command1
command2
…..
fi
fi

Q:6「$」の用途は何ですか?シェルスクリプトにサインインしますか?

回答:シェルスクリプトの作成中に、前のコマンドが正常に実行されたかどうかを確認する場合は、「$?」を使用できます。 echoコマンドを使用して、「$?」変数の値を出力します。この変数は通常、前のコマンドの終了ステータスを確認するためにifステートメントで使用されます。基本的な例を以下に示します:

[メール保護]:〜#ls / usr / bin / shar
/ usr / bin / shar
[メール保護]:〜#echo $ ?
0

終了ステータスが0の場合、コマンドは正常に実行されます

[メール保護]:〜#ls / usr / bin / share

ls:/ usr / bin / shareにアクセスできません:そのようなファイルまたはディレクトリはありません
[メールで保護]:〜#echo $?
2

終了ステータスが0以外の場合、コマンドは正常に実行されていないと言えます。

Q:7 Linuxシェルスクリプトで数値を比較する方法は?

回答:「-gt」(より大きい)、「-eq」(等しい)、「-lt」(等しい)などのパラメータを使用して、シェルスクリプトの数値を比較できます。未満)inifステートメント。例を以下に示します:

#!/ bin / bash
x =10
y =20

if [$ x -gt $ y]
then
echo“ x is great than y”
else
echo“ yはxより大きい」
fi

Q:8 breakコマンドの使用法は何ですか?

回答:breakコマンドは、進行中のループから抜け出すための簡単な方法です。 breakコマンドを使用して、whileループやuntilループを含む任意のループを終了できます。

Q:9シェルスクリプトでのcontinueコマンドの使用は何ですか?

回答continueコマンドは、ループ全体ではなく、ループの現在の反復を終了させることを除いて、breakコマンドと同じです。続行コマンドは、エラーが発生したが、ループの次のコマンドを実行したい場合に役立ちます。

Q:10Linuxシェルスクリプトの「Caseステートメント」の構文を教えてください。

回答:基本的な構文を以下に示します:

case word in
value1)
command1
command2
…..
last_command
!!
value2)
command1
command2
……
last_command
;;
esac

Q:11シェルスクリプトのwhileループの基本的な構文は何ですか?

回答:forループと同様に、whileループはコマンドのブロックを何度も繰り返します。ただし、forループとは異なり、whileループはwhile条件が真でなくなるまで繰り返されます。基本的な構文は次のとおりです:

while [test_condition]
do
コマンド…
done

Q:12シェルスクリプトを実行可能にする方法は?

回答:chmodコマンドを使用して、シェルスクリプトを実行可能にすることができます。例を以下に示します:

#chmod a + x myscript.sh

Q:13「#!/ bin / bash」の使用法は何ですか?

回答:#!/ bin / bashは、shebangと呼ばれるシェルスクリプトの最初のものです。#記号はハッシュと呼ばれ、「!」はbangと呼ばれます。 / bin/bashを介して実行されるコマンドを示しています。

Q:14シェルスクリプトのforループの構文は何ですか?

回答:forループの基本構文を以下に示します:

list_of_itemsの変数の場合
do
command1
command2
…。
last_command
done

Q:15シェルスクリプトをデバッグする方法は?

回答:「-x」オプション(sh -x myscript.sh)を指定してスクリプトを実行すると、シェルスクリプトをデバッグできます。シェルスクリプトをデバッグする別の方法は、「-nv」オプション(sh -nv myscript.sh)を使用することです。

Q:16シェルスクリプトの文字列をどのように比較しますか?

回答:テストコマンドは、テキスト文字列を比較するために使用されます。テストコマンドは、各文字列の各文字を比較することにより、テキスト文字列を比較します。

Q:17コマンドライン引数用にBourneシェルによって設定される特別な変数は何ですか?

回答:次の表に、コマンドライン引数用にBourneシェルによって設定された特別な変数を示します。

Q:18 bashシェルスクリプトでファイルをテストする方法は?

回答:testコマンドは、ファイルに対してさまざまなテストを実行するために使用されます。基本的なテストは以下のとおりです:

Q:19 bashシェルスクリプトにコメントを入れる方法は?

回答:コメントは、スクリプトが実行することになっていることとその動作を説明する、自分自身および他のユーザーへのメッセージです。スクリプトにコメントを入れるには、各コメント行をハッシュ記号(#)で始めます。例を以下に示します:

#!/ bin / bash
#これはコマンドです
echo「私は$USERとしてログインしています」

Q:20シェルスクリプトの端末から入力を取得するにはどうすればよいですか?

回答:「read」コマンドは、端末からデータを読み込みます(キーボードを使用)。 readコマンドは、ユーザーが入力したものをすべて取り込み、名前を付けた変数にテキストを配置します。例を以下に示します:

#vi /tmp/test.sh

#!/ bin / bash
echo'名前を入力してください'
名前を読んでください
echo“ My Name is $ name”

#。/test.sh
名前を入力してください
LinuxTechi
私の名前はLinuxTechiです

Q:21 Linuxで変数の設定を解除または割り当て解除する方法は?

回答:「unset」コマンドは、変数の割り当てを解除または設定解除するために使用されます。構文を以下に示します:

#unset

Q:22 Linuxで算術演算を実行するにはどうすればよいですか?

回答:算術演算を実行するには2つの方法があります:

1。 exprコマンドの使用(#expr 5 + 2)
2。ドル記号と角かっこを使用する($ [操作])

例:test =$ [16 + 4]; test =$ [16 + 4]

Q:23 do-whileステートメントの基本構文?

回答:do-whileステートメントはwhileステートメントに似ていますが、条件ステートメントをチェックする前にステートメントを実行します。以下は、do-whileステートメントの形式です。

do
{
ステートメント
}while(条件)

Q:24シェルスクリプトで関数を定義する方法は?

回答:関数は、名前が付いたコードのブロックです。コードのブロックに名前を付けると、スクリプトでその名前を呼び出すことができ、そのブロックが実行されます。例を以下に示します:

$ diskusage(){df -h; }

Q:25 bashシェルスクリプトでbc(bash計算機)を使用するにはどうすればよいですか?

回答:シェルスクリプトでbcを使用するには、以下の構文を使用してください。

variable =`echo" options;式」| bc`

また読む20Linuxコマンドインタビューの質問と回答


Linux
  1. Linux インタビューの質問 – 基本的なファイルとディレクトリのアクセス許可

  2. Linux シェル スクリプトでのバックティック (`) 記号

  3. Linux での chsh コマンドの例

  1. OpenStackインタビューの質問と回答のトップ30

  2. 新入生のための40のLinuxインタビューの質問パート2

  3. 30 LAMP(Linux、Apache、MySQL、PHP)インタビューの質問と回答

  1. Linuxインタビューの質問と回答のトップ25

  2. 20ポストフィックスインタビューの質問と回答

  3. BIND –DNSサーバーインタビューの質問と回答