Linuxシェルスクリプトに関する実用的なインタビューの質問と回答


インタビューシリーズの記事には圧倒的な反響があり、LinuxハウツーWebサイトで「いいね」、コメントのフィードバック、個人の電子メールアドレスの形で初めて、ある記事から次の記事に移動できます。論文。

これは、すでにTecmint.comで公開されているインタビューシリーズの記事へのリンクです。ここでは、FTP、MySQL、Apache、スクリプト、Linuxコマンドなどの多くのトピックを取り上げています。

ここで上記のシリーズを続けると、さらに5つのすばらしいLinuxインタビューの質問とその回答が表示されます。あなたの(Tecmint.com読者と頻繁な訪問者)サポートはそれを成功させるために常に必要です。

次に、「userstats.sh」というファイルを作成し、それに次のコードを追加します。

#!/bin/bash 
echo "Hello, $LOGNAME" 
echo "Current date is `date`" 
echo "User is `who i am`" 
echo "Current directory `pwd`"

実行権限を設定し、以下のようにスクリプトを実行します。

# chmod 755 userstats.sh 
# ./userstats.sh
Hello, avi 
Current date is Sat Jun  7 13:05:29 IST 2014 
User is avi      pts/0        2014-06-07 11:59 (:0) 
Current directory /home/avi/Desktop

もう一度「two-numbers.sh」というファイルを作成し、次のコンテンツを追加します。

#!/bin/bash 
# The Shebang

if [ $# -ne 2 ] 
# If two Inputs are not received from Standard Input

then 
# then execute the below statements

    echo "Usage - $0   x    y" 
    # print on standard output, how-to use the script (Usage - ./1.sh   x    y )

    echo "        Where x and y are two nos for which I will print sum" 
    # print on standard output, “Where x and y are two nos for which I will print sum ”

    exit 1 
    # Leave shell in Error Stage and before the task was successfully carried out.

fi 
# End of the if Statement.

    echo "Sum of $1 and $2 is `expr $1 + $2`"
    # If the above condition was false and user Entered two numbers as a command Line Argument,   
       it will show the sum of the entered numbers.

ファイルに実行者権限を設定し、以下のようにスクリプトを実行します。

# chmod 755 two-numbers.sh

条件1:コマンドライン引数として2つの数値を入力せずにスクリプトを実行すると、次の出力が得られます。

# ./two-numbers.sh

Usage - ./two-numbers.sh   x    y 
        Where x and y are two nos for which I will print sum

条件2:コマンドライン引数として数値を入力すると、次のような結果が得られます。

$ ./two-numbers.sh 4 5 

Sum of 4 and 5 is 9

したがって、上記のシェルスクリプトは、質問で提案されている条件を満たす。

  1. 1. Let the Input Number = n
  2. 2. Set rev=0, sd=0 (Reverse and single digitis set to 0)
  3. 3. n % 10, will find and give single left most digit
  4. 4. reverse number is generated as rev * 10 + sd
  5. 5. Decrease Input Number (n) by 1.
  6. 6. if n > 0, then goto step 3 else goto setp 7
  7. 7. Print rev

ここでも、「numbers.sh」というファイルを作成し、次のコードを追加します。

#!/bin/bash 
if [ $# -ne 1 ] 
then 
    echo "Usage: $0   number" 
    echo "       I will find reverse of given number" 
    echo "       For eg. $0 0123, I will print 3210" 
    exit 1 
fi 

n=$1 
rev=0 
sd=0 

while [ $n -gt 0 ] 
do 
    sd=`expr $n % 10` 
    rev=`expr $rev \* 10  + $sd` 
    n=`expr $n / 10` 
done 
    echo  "Reverse number is $rev"

ファイルに実行権限を付与し、以下に示すようにスクリプトを実行します。

# chmod 755 numbers.h

条件1:コマンドライン引数として入力が指定されていない場合、次の出力が得られます。

./numbers.sh

Usage: ./numbers.sh  number 
       I will find reverse of given number 
       For eg. ./2.sh 123, I will print 321

条件2:入力がコマンドライン引数として提供された場合。

$ ./numbers.sh 10572 

Reverse number is 27501

上記のスクリプトは完全に機能し、出力はまさに必要なものでした。

たとえば、次のコマンドを実行して、図のようにbcコマンドを使用してリアルタイムで数値を計算します。

$ echo 7.56 + 2.453 | bc

10.013
# pi 100 

3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067

明らかに!パッケージ「pi」をインストールする必要があります。 aptまたはyumを実行して、使用しているディストリビューションに「pi」をインストールするために必要なパッケージを取得します。

それは今のところすべてです。もうすぐ別の興味深い記事でまたここに来ます。それまでは、ご期待ください。Tecmint.comに接続してください。以下のコメントセクションで貴重なフィードバックを提供することを忘れないでください。