有了压倒性的反应,我们在面试系列文章,第一个在任何Linux操作网站上的形式,喜欢,反馈在评论以及个人电子邮件地址使我们从一篇文章到下一个文章。
这里是链接到已经发表在youcl.com,我们已经介绍很多主题即文章,FTP,MySQL和Apache的,脚本,Linux命令等。
实际采访壳脚本问题
继续到上面的系列,我们将有另外5个精彩的Linux面试问题和他们的答案。 您的(The youcl.com读者和经常访问者)支持总是需要使它成功。
1.编写shell脚本以获取当前日期,时间,用户名和当前工作目录。
现在创建一个名为“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
2.编写一个Shell脚本,如果作为命令行参数提供,则添加两个数字,如果未输入这两个数字,则会输出一条错误消息以及一行如何使用描述。
再创建一个名为“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:运行脚本,而无需输入两个数字作为命令行参数,你会得到下面的输出。
示例输出
# ./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
因此,上述shell脚本满足问题中建议的条件。
3.您需要使用Shell脚本以相反的顺序打印给定的Number说10572,以便仅使用命令行参数提供输入。 如果输入数据没有作为命令行参数提供,它应该抛出和错误,并建议如何使用脚本。 编写脚本,但在之前告诉我需要在这里实现的算法。
算法
- 1.让输入数= n
- 2.设置rev = 0,sd = 0(反向和单数字设置为0)
- 3. n%10,将找到并给出单个最左边的数字
- 反转数被产生为rev * 10 + sd
- 5.将输入数字(n)减1。
- 6.如果n> 0,则转到第3步,否则转到第7步
- 7.打印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
上面的脚本工作完美,输出正是我们需要的。
你应该直接从终端计算一个实数计算,而不是任何shell脚本。 你会做什么(说实数是7.56和2.453)?
例如,运行以下命令,如图所示计算使用bc命令实时的数字。
$ echo 7.56 + 2.453 | bc 10.013
你应该找到pi的值到100个小数点,什么是最简单的方法来完成的结果。
# pi 100 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067
明显! 我们必须安装包“ 圆周率 ”。 只是做一个恰当或yum来获得所需的包安装“圆周率 ”到你正在使用的分布。
目前为止就这样了。 我很快就会在这里再一次有趣的文章。 直到然后保持调整和连接到youcl.com。 不要忘记在下面的评论部分向我们提供宝贵的反馈。