實用的shell腳本面試題和答案


1. 寫一個shell腳本來得到當前的日期,時間,用戶名和當前工作目錄。

答案 : 輸出用戶名,當前日期和時間,以及當前工作目錄的命令就是logname,date,who i am和pwd。

現在,創建一個名為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

 

 

2.你需要打印一個給定的數字的反序,如輸入10572,輸出27501,如果沒有輸入數據,應該拋出錯誤和使用腳本說明。在此之前,告訴我你需要在這里使用的算法。

1.輸入的數字為n
2.賦值 rev=0, sd=0 (反向和單個數字設置為0)
3.n % 10, 將得到最左邊的數字
4.反向數字可以用這個方法生成 rev * 10 + sd
5.對輸入數字進行右位移操作(除以10)
6.如果n > 0, 進入第三步,否則進行第七步
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"

腳本輸入:

$ ./numbers.sh 10572 
 
Reverse number is 27501

 

3  找圓周率的值最簡單的方法,我們只是需要發出以下命令

pi 100 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM