Re: [問題] shell script??

看板Linux作者 (maxwell)時間16年前 (2009/10/12 15:46), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串4/4 (看更多)
但是我們電機從CIC下載的tool都是使用tcsh 如果硬用bash 有些東西無法執行 CIC也不會受理這方面的問題.. 所以bash是不錯 但有些情況下也是得必須使用tcsh 不然也是一大困擾.. ※ 引述《Maxsolar.bbs@OfO.twbbs.org (Astro v.s. Geo)》之銘言: : ※ 引述《peple.bbs@ptt.cc (阿德)》之銘言: : : 初碰linux不久...還請見諒...>"< : : 問題1.Linux跟Uinx(freeBSD)的shell script是不是不一樣阿? : : (傻傻分不太清楚...>"<) : : google了一下,發覺光for的架構就不同了 : : linux unix : : for...do...done foreach....end : : if...else...fi if...else...endif : 這是預設的shell不同所致。 : linux一般而言預設都是sh/bash,unix則常用csh/tcsh, : 例如你看到的語法,確實左邊是bash,右邊則是csh的語法。 : 當然你也可以在linux下用csh,在unix下使用bash : 不過需注意版本問題, : 我的bash在MacOSX上面跑就跑不出來@@ : : 問題2. : : 我有一個tool的環境設定檔,但設定檔的架構似乎主要是依unix的架構為主 : : 我的linux系統無法辨別,造成可能要改寫設定檔的情況 : : 其中有一行 if [${?LM_LICENSE_FILE} == 0]; then : 這是使用變數代換bash的語法: : ${SHELL:='bash'} : 更多變數代換的語法請參考 : http://maxubuntu.blogspot.com/2009/10/variables-substitution.html : 或是鳥哥學長的網頁上,有非常多的範例 : : 在linux執行時說 ${?LM_LICENSE_FILE}: bad substitution : : 不知是否有高手可以指點我...讓我知道這行的變數該怎麼改呢? : : 謝謝...>"< : 其實你只要熟一種語法就好,其餘的shell的語法你看了也會懂他的意義。 : 當然建議是用bash,除了他的功能變得越來越強大之外, : 他的參考文件也是最多的。 : 像我們作純科學研究的,很多老科學家都只會csh跟fortran, : 導致學生也只會csh跟程度更弱的fortran, : 想寫個更好一點的script還很難找到豐富的教學跟範例, : 網路農夫是我看過最用心撰寫unix系統常用的工具, : http://netlab.cse.yzu.edu.tw/~statue/freebsd/docs/csh/ : 因此想學csh的朋友也可以參考這篇。 : 至於bash,只是平時用用的話可以參考鳥哥的網頁教學就夠用了; : 如果是要用bash來替你作routine的工作的話, : 我建議兩本bash的好書: : 1. Linux Shell 程式設計實務, 作者:臥龍小三 : 2. Shell programming即學活用, 陳清豪、廖家鋒譯 : 兩本風格完全不同,切入點也不太相同,兩作者的獨門絕招也不同, : 對shell script癡狂的夥伴可以參考看看。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.68.162.102 ※ 編輯: maxwellee 來自: 203.68.162.102 (10/12 15:46)

10/12 15:49, , 1F
用tcsh就可以跑了...印象中有註明是csh類的script
10/12 15:49, 1F

10/12 15:49, , 2F
還是閣下想表達什麼?
10/12 15:49, 2F

10/12 15:55, , 3F
我是想表達bash是不錯 但現實上還是有得用tcsh的無奈
10/12 15:55, 3F
※ 編輯: maxwellee 來自: 203.68.162.102 (10/12 15:57)
文章代碼(AID): #1Aqjx3kO (Linux)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):
2
2
文章代碼(AID): #1Aqjx3kO (Linux)