真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

一個簡單的shell面試題引發(fā)的總結(jié)-創(chuàng)新互聯(lián)

最近閑來無事,在網(wǎng)上搜一些shell面試題做一做,今天看到一個面試時候經(jīng)常被考的一個題,原題如下:

從事德陽機房服務器托管,服務器租用,云主機,虛擬主機,域名注冊,CDN,網(wǎng)絡代維等服務。

  批量添加20個用戶到class01組,用戶名以std開頭,以數(shù)字結(jié)尾,格式:std01---std20

 這個題在面試的時候貌似經(jīng)常能見到吧,大家都懂得,但是也很簡單,大家要注意題意,注意格式,要求是std01這樣的格式,如果只是一個簡單的for,用戶名很可能是std1哦。不多說,先上一下我的簡陋的腳本,一個同學說我的腳本很凌亂,哈哈,確實是凌亂在風雨中啊。

#!/bin/sh
groupadd class01
a=std
for ((i=1;i<=20;i++))
do
if [ $i -lt 10 ];then
username="$a"0"$i"
else
username=$a$i
fi
useradd -G class01 -M  $username
done

在執(zhí)行腳本的時候碰到一個問題,總是提示我的第四行語法錯誤,檢查半天也沒發(fā)現(xiàn)我這語法案例出錯了,沒辦法只好問問Google大叔了。果然,網(wǎng)上有好多人碰到這個問題,究其原因是我的系統(tǒng)是ubuntu的,在ubuntu下,默認的shell不是bash,而是dash,dash 比 bash 更輕,更快。但 bash 卻更常用。雖然更快更輕了,但是還是不兼容啊,沒辦法,換回來吧,解決方法:sudo dpkg-reconfigure dash,然后選擇no,好了,現(xiàn)在以及切回來了,可以正確執(zhí)行,沒問題。

 接下來上一下我同學的腳本吧,雖然也不是最佳的,但是思路跟我的差不多,嚴重懷疑這哥們是不是抄襲了,哈哈,比我的還是優(yōu)化了一些。

#!/bin/bash
groupadd class01
for i in {1..20}
do
if  [ $i -lt 10 ];then
useradd "std0$i" -g class01
else
useradd "std$i" -g class01
fi
done

 好吧,其實我也沒看出號多少,哈哈~~反正都能實現(xiàn),解決問題就可以。

 最后來一下我們的熱心網(wǎng)友的腳本吧,這叫一個簡練啊,一句話shell

for i in `seq -w 20`;do useradd -G class01 sdt$i;done

 好吧,看了這個腳本,心里這個凌亂啊,基礎(chǔ)不扎實啊,人家一個seq -w就解決了,哎~~

 seq:用于產(chǎn)生從某個數(shù)到另外一個數(shù)之間的所有整數(shù)
# seq 1 10
結(jié)果是1 2 3 4 5 6 7 8 9 10
 seq的參數(shù)
-f, --format=FORMAT    use printf style floating-point FORMAT (default: %g)
-s, --separator=STRING  use STRING to separate numbers (default: /n)
-w, --equal-width     equalize width by padding with leading zeroes

-f 選項  指定格式

root@addam-python:~# seq -f"%3g" 1 10
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10

% 后面指定數(shù)字的位數(shù) 默認是"%g",

"%3g"那么數(shù)字位數(shù)不足部分是空格
#sed -f"%03g" 1 11 這樣的話數(shù)字位數(shù)不足部分是0

root@addam-python:~# seq -f"%03g" 1 11
001
002
003
004
005
006
007
008
009
010
011

% 前面制定字符串

root@addam-python:~# seq -f "test%03g" 8 12
test008
test009
test010
test011
test012

-w 指定輸出數(shù)字同寬  不能和-f一起用

root@addam-python:~# seq -w 1 10
01
02
03
04
05
06
07
08
09
10

輸出是同寬的

學習一個腳本,同時也加固一下seq的學習,好記性不如爛筆頭~~

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


分享文章:一個簡單的shell面試題引發(fā)的總結(jié)-創(chuàng)新互聯(lián)
當前地址:http://weahome.cn/article/gspgg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部