請問一個標準輸入讀取多個不定變數的問題 - Linux

Doris avatar
By Doris
at 2012-05-03T21:06

Table of Contents

我現在再寫一個script

其中有一段是要請使用者輸入所需的的原子種類,


我目前的作法是加入下列指令

read -p "Please enter the atomic species in the system" ATOM1 ATOM2 ATOM3.....

ATOM10


不過這樣有兩個問題,就是當使用者輸入的原子總數超過10個的話

程式就會出問題。而且我每一個變數還要用if條件式檢查,是否為空變數。


再者如果不知道確切變數的輸入個數,

後續的程式處理會有點麻煩。




所以想請教一下,

有沒有辦法可以自動辨識使用者的輸入個數?

並分別自動指派?


e.g.

使用者一輸入 H Li Na K Rb Cs Fr

然後就可以自動辨識,使用者輸入了7個變數

變數總數為7。

只派 ATOM1=H ATOM2=Li ATOM3=Na.........



有點類似直接把script當作指令來執行

shell 自動指派變數 $1=H, $2=Li, $3=Na...............,

只要echo $# 就可以得知變數總數



不知道如果為互動式腳本的話要怎麼處理?

--
所謂的私立龍頭(單選,請自行選擇帶入):
a.輔仁 b.東海 c.東吳 d.長庚 e.中原 f.元智 g.逢甲 h.淡江
說穿了只不過是比上不足:
h.台科 i.台清交成 j.剩下的中大 k.勉強叫得出名字的國立
比下又閒太過多餘:
l.叫不出名字+沒聽過的國立科大與普大+除選項A~H以外的其他私立

--
Tags: Linux

All Comments

Gilbert avatar
By Gilbert
at 2012-05-04T09:52
eval, 要不然可以用bash, 它有array
Tristan Cohan avatar
By Tristan Cohan
at 2012-05-06T20:02
不好意思,我還是不太明白,方便在說詳細點嗎?
Edith avatar
By Edith
at 2012-05-09T23:56
read -a ar; 收到的ar是array, 可以用${a[0]}, ${a[1]}叫出來
Jessica avatar
By Jessica
at 2012-05-10T23:59
${#ar[@]}是array的大小, 可是寫出這種東西都只能在bash用
bash=/bin/bash
Margaret avatar
By Margaret
at 2012-05-14T21:19
echo "vars received in the script -> $@"
Aaliyah avatar
By Aaliyah
at 2012-05-17T08:40
我了解了!感謝,今天才知道原來read有讀aray的功能
Anthony avatar
By Anthony
at 2012-05-20T11:34
只能在bash用倒是無所謂,反正我用的機器都是bash的

帳號問題

Rae avatar
By Rae
at 2012-05-03T15:46
大家好,我是一個剛踏入linux系統的新手 操作系統是mint 12 昨天在操作系統時發生一個難題 我用新增帳號的方式在guest模式下將原來使用者(管理員)帳號刪掉 並另外增加一新的管理者帳號(好像沒有啟用密碼) 但很奇妙的是當我重登時,不論我怎麼試 就是無法登入該帳號 後來透過root輸入 ...

Ubuntu 10.04 中、日文目錄亂碼

Agatha avatar
By Agatha
at 2012-05-02T21:25
繁中 簡中 日文 目錄 顯示為 ????? 請問各位版友該如何解決 無法顯示的目錄 http://i.imgur.com/KipVm.png locale http://i.imgur.com/b5eeU.png locale -a http://i.imgur.com/3xtoH.png Pi ...

Ubuntu 12.04 LAMP

Faithe avatar
By Faithe
at 2012-05-02T17:02
我想要在linux作業系統底下架設網站 想要採用Ubuntu 目前最新版本12.04 (開發代碼Precise Pangolin) 目前有分為Desktop, Alternate, Server http://ppt.cc/fMoL (安裝光碟下載說明) http://ppt.cc/_5em (安裝光碟 ...

Kubuntu12.04的Xorg很耗CPU

Ursula avatar
By Ursula
at 2012-05-02T16:00
最近我把KUBUNTU從11.10升級到12.04 CPU是AMD的飛龍2 X4 940,顯示卡是GTS250 結果發現常常做沒多少事,電腦就愈跑愈慢,非常LAG 打開系統監視器就發現 就算所有程式都關掉, Xorg仍然消耗了25%的CPU,也就是有一顆核心完全被Xorg吃掉了 並不是一開始就25% ...

請教mplayer的vf-add問題

Madame avatar
By Madame
at 2012-05-02T14:41
想請教各位前輩一個smplayer的問題 小弟是ubuntu 10.04 前2天都還能正常播放影片 但是今天突然播放不了 不知道是不是因為更新的關係 影響到了設定? 打開檔案直接就跑出錯誤訊息 內容如下: -- /usr/bin/mplayer -noquiet -nofs -nomousein ...