導航:首頁 > 操作系統 > linuxtcsh

linuxtcsh

發布時間:2023-01-29 13:03:56

linux-tcsh: error while loading shared libraries: libtermcap.so.2: cannot open shared object file:

進其它用戶,然後 su,取得root許可權,把shell改回bash如果沒有其它用戶,進單用戶模式,把root的shell改回bash如果改csh,安裝系統自帶的tcsh包,然後用 usermod -s /bin/csh

❷ linux spawn命令

spawn是進入expect環境後才可以執行的expect內部命令。expect是一種腳本語言,它能夠代替我們實現與終端的交互,我們不必再守候在電腦旁邊輸入密碼,或是根據系統的輸出再運行相應的命令。

如果沒有裝expect或者直接在默認的SHELL下執行是找不到spawn命令的。所以不要用 「which spawn「之類的命令去找spawn命令。好比windows里的dir就是一個內部命令,這個命令由shell自帶,用戶無法找到一個dir.com或dir.exe的可執行文件。它主要的功能是給運行進程加個殼,用來傳遞交互指令。

(2)linuxtcsh擴展閱讀:

下面是一個能用來實現自動執行該命令的Expect腳本:

#!/usr/bin/expect

# Change a login shell to tcsh

set user [lindex $argv 0]

spawn chsh $user

expect "]:"

send "/bin/tcsh "

expect eof

exit

和其他腳本一樣首行指定用來執行該腳本的命令程序,這里是/usr/bin/expect。程序第一行用來獲得腳本的執行參數(其保存在數組$argv中,從0號開始是參數),並將其保存到變數user中。

第二個參數使用Expect的spawn命令來啟動腳本和命令的會話,這里啟動的是chsh命令,實際上命令是以衍生子進程的方式來運行的。

❸ linux shell有哪些 類型

2.4腳本語言的種類
2.4.1 Shell腳本語言的種類
Shell腳本語言是弱類型語言(無需定義變數的類型就可使用),在Unix/Linux中主要有兩大類Shell,一類是Bourne shell,另一類是C shell。
1. Bourne shell
Bourne shell又包括Bourne shell (sh)、Korn shell (ksh)、Bourne Again Shell(bash)三種類型。
Bourne shell (sh)由AT&T的Steve Bourne開發,是標準的UNIX Shell,很多UNIX系統都配有sh。
Korn shell (ksh)由David Korn開發,是Bourne shell(sh)的超集合,並且添加了csh引入的新功能,是目前很多UNIX系統標准配置的Shell,在這些系統上的/bin/sh往往是指向/bin/ksh的符號鏈接。
Bourne Again Shell即bash由GNU項目組開發,主要目標是與POSIX標準保持一致,同時兼顧對sh的兼容,bash從csh和ksh借鑒了很多功能,是各種Linux發行版默認配置的Shell,在Linux系統上的/bin/sh往往是指向/bin/bash的符號鏈接。雖然如此,bash和sh還是有很多的不同,一方面,bash擴展了一些命令和參數,另一方面,bash並不完全和sh兼容,它們有些行為並不一致,但大多數企業運維的情況下區別不大,特殊場景可以使用bash替代sh。
2. C shell
C shell又包括csh、tcsh兩種類型。
csh由Berkeley大學開發,隨BSD UNIX發布,它的流程式控制制語句很像C語言,支持很多Bourne Shell所不支持的功能,例如:作業控制、別名、系統算術、命令歷史、命令行編輯等。
tcsh是csh的增強版,加入了命令補全等功能,在FreeBSD、Mac OS X等系統上替代了csh。
以上介紹的這些Shell中,較為通用的是標準的Bourne shell (sh)和C shell (csh)。其中Bourne shell (sh)已經被Bourne Again shell (bash) 取代。
可通過以下命令查看CentOS7系統的Shell支持情況。
[root@oldboy ~]# cat /etc/shells
/bin/sh #<==這是Linux里常用的Shell,指向/bin/bash。
/bin/bash #<==這是Linux里常用的Shell,也是默認使用的Shell。
/usr/bin/sh
/usr/bin/bash
Linux系統中的主流Shell是bash,bash是由Bourne Shell(sh)發展而來的,但bash還包含了csh和ksh的特色,但大多數腳本都可以不加修改地在sh上運行,如果你使用sh後發現結果和預期有差異,那麼可以嘗試使用bash替代sh。
內容來源:《跟老男孩學linux運維:Shell高級編程實戰》第02章_Shell腳本初步入門

❹ linux shell中'""和`的區別

和現在的開發語言一樣,語法上有些差異!

三種主要的 Shell 與其分身

在大部份的UNIX系統,三種著名且廣被支持的shell 是Bourne shell(AT&T shell,在 Linux 下是BASH)、C shell(Berkeley shell,在 Linux 下是TCSH)和 Korn shell(Bourne shell的超集)。這三種 shell 在交談(interactive)模式下的表現相當類似,但作為命令文件語言時,在語法和執行效率上就有些不同了。

Bourne shell 是標準的 UNIX shell,以前常被用來做為管理系統之用。大部份的系統管理命令文件,例如 rc start、stop 與shutdown 都是Bourne shell 的命令檔,且在單一使用者模式(single user mode)下以 root 簽入時它常被系統管理者使用。Bourne shell 是由 AT&T 發展的,以簡潔、快速著名。 Bourne shell 提示符號的默認值是 $。

C shell 是柏克萊大學(Berkeley)所開發的,且加入了一些新特性,如命令列歷程(history)、別名(alias)、內建算術、檔名完成(filename completion)、和工作控制(job control)。對於常在交談模式下執行 shell 的使用者而言,他們較喜愛使用 C shell;但對於系統管理者而言,則較偏好以 Bourne shell 來做命令檔,因為 Bourne shell 命令檔比 C shell 命令檔來的簡單及快速。C shell 提示符號的默認值是 %。

Korn shell 是Bourne shell 的超集(superset),由 AT&T 的 David Korn 所開發。它增加了一些特色,比 C shell 更為先進。Korn shell 的特色包括了可編輯的歷程、別名、函式、正規表達式萬用字元(regular expression wildcard)、內建算術、工作控制(job control)、共作處理(coprocessing)、和特殊的除錯功能。Bourne shell 幾乎和 Korn shell 完全向上兼容(upward compatible),所以在 Bourne shell 下開發的程序仍能在 Korn shell 上執行。Korn shell 提示符號的默認值也是 $。在 Linux 系統使用的 Korn shell 叫做 pdksh,它是指 Public Domain Korn Shell。

除了執行效率稍差外,Korn shell 在許多方面都比 Bourne shell 為佳;但是,若將 Korn shell 與 C shell 相比就很困難,因為二者在許多方面都各有所長,就效率和容易使用上看,Korn shell 是優於 C shell,相信許多使用者對於 C Shell 的執行效率都有負面的印象。

在shell 的語法方面,Korn shell 是比較接近一般程序語言,而且它具有子程序的功能及提供較多的資料型態。至於 Bourne shell,它所擁有的資料型態是三種 shell 中最少的,僅提供字元串變數和布爾型態。在整體考量下 Korn shell 是三者中表現最佳者,其次為 C shell,最後才是 Bourne shell,但是在實際使用中仍有其它應列入考慮的因素,如速度是最重要的選擇時,很可能應該採用 Bourne shell,因它是最基本的 shell,執行的速度最快。
作者: benny_feng 發布日期: 2006-10-17
tcsh 是近幾年崛起的一個軟體(Linux 下的C shell 其實就是使用 tcsh)執行,它雖然不是UNIX 的標准配備,但是從許多地方您都可以下載到它。如果您是 C shell 的擁護者,筆者建議不妨試試 tcsh,因為您至少可以將它當作是 C shell 來使用。如果您願意花點時間學習,您還可以享受許多它新增的優越功能,例如:

1. tcsh 提供了一個命令列(command line)編輯程序。

2. 提供了命令列補全功能。

3. 提供了拼字更正功能。它能夠自動檢測並且更正在命令列拼錯的命令或是單字。

4. 危險命令偵測並提醒的功能,避免您一個不小心執行了rm* 這種殺傷力極大的命令。

5. 提供常用命令的快捷方式(shortcut)。

bash 對 Bourne shell 是向下兼容(backward compatible),並融入許多C shell 與Korn shell 的功能。這些功能其實 C shell(當然也包括了tcsh)都有,只是過去 Bourne shell 都未支持。以下筆者將介紹 bash 六點重要的改進(詳細的使用說明筆者會在以後的章節介紹):

1. 工作控制(job contorl)。bash 支持了關於工作的訊號與指令,本章稍後會提及。

2. 別名功能(aliases)。alias 命令是用來為一個命令建立另一個名稱,它的運作就像一個宏,展開成為它所代表的命令。別名並不會替代掉命令的名稱,它只是賦予那個命令另一個名字。

3. 命令歷程(command history)。BASH shell 加入了C shell 所提供的命令歷程功能,它以 history 工具程序記錄了最近您執行過的命令。命令是由 1 開始編號,默認值為500。history 工具程序是一種短期記憶,記錄您最近所執行的命令。要看看這些命令,您可以在命令列鍵入 history,如此將會顯示最近執行過之命令的清單,並在前方加上編號。

這些命令在技術上每個都稱為一個事件。事件描述的是一個已經採取的行動(已經被執行的命令)。事件是依照執行的順序而編號,越近的事件其編號碼越大,這些事件都是以它的編號或命令的開頭字元來辨認的。history 工具程序讓您參照一個先前發生過的事件,將它放在命令列上並允許您執行它。最簡單的方法是用上下鍵一次放一個歷程事件在您的命令列上;您並不需要先用 history 顯示清單。按一次向上鍵會將最後一個歷程事件放在您的命令列上,再按一次會放入下一個歷程事件。按向下鍵則會將前一個事件放在命令列上。

❺ 什麼是Shelllinux Shell有什麼特性

Shell是Linux系統的外殼,它是用戶和Linux操作系統之間的介面,並且具有很多種類型。那麼什麼是Shell?Shell分為哪幾類?linux

Shell有什麼特性?我們來看看具體的內容介紹。

什麼是Shell?

Shell本身是一個用C語言編寫的程序,它是用戶使用Unix/Linux的橋梁,用戶的大部分工作都是通過Shell完成的。Shell既是一個命令語言,又是一個程序設計語言。作為命令語言,它互動式地解釋和執行用戶輸入的命令;作為程序設計語言,它定義了各種變數和參數,並提供了許多在高級語言中才具有的控制結構,包括循環和分支。

Shell是一個應用程序,是用戶管理應用程序的一個介面。

廣義上Shell的分類?

GUI:圖形用戶界面,KDE、GNOME、XFCE。

CLI:命令行介面,bash、zsh、fishsh、csh、tcsh、ksh。

linux Shell有什麼特性?

Shell是一個簡單得腳本語言,適合自動化命令執行。

Shell是Linux系統必備的語言,我們操作Linux就是通過命令行bash解釋給系統的。

大多數應用軟體的啟動和配置都是Shell腳本完成的。

要想學好Linux,掌握shell是必不可少的。

❻ Linux中shell 的類型有哪些。

不同的shell具備不同的功能,shell還決定了腳本中函數的語法,Linux中默認的shell是/bin/bash,流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特點以及用途。
bash

大多數Linux系統默認使用的shell,bash shell 是 Bourne shell 的一個免費版本,它是最早的 Unix shell,bash還有一個特點,可以通過help命令來查看幫助。包含的功能幾乎可以涵蓋shell所具有的功能,所以一般的shell腳本都會指定它為執行路徑。
csh
C shell 使用的是「類C」語法,csh是具有C語言風格的一種shell,其內部命令有52個,較為龐大。目前使用的並不多,已經被/bin/tcsh所取代。
ksh
Korn shell 的語法與 Bourne shell 相同,同時具備了 C shell 的易用特點。許多安裝腳本都使用 ksh ,ksh有42條內部命令,與bash相比有一定的限制性。
tcsh
tcsh是csh的增強版,與 C shell 完全兼容。
sh
是一個快捷方式,已經被/bin/bash所取代。
nologin
指用戶不能登錄
zsh
目前Linux里最龐大的一種shell:zsh。它有84個內部命令,使用起來也比較復雜。一般情況下,不會使用該shell。

❼ Linux下如何執行Shell腳本

linux下可以有兩種方式執行shell腳本:
1、用shell程序執行腳本:根據shell腳本的類型,選擇shell程序,常用的有sh,bash,tcsh等(一般來說第一行#!/bin/bash裡面指明了shell類型的,比如#!/bin/bash指明是bash,#!/bin/sh則是sh);然後輸入命令(其中bash為shell的名稱,myshell.sh則為要執行的代碼):
bash
myshell.sh
2、直接執行腳本:
不過首先的加上可執行許可權(也許要root許可權,4情況而定),執行:

❽ Linux shell語言——dash和bash

自己寫的一個while循環結構總是報錯,糾結了一下午,各種查資料、改命令行,最後發現是ubuntu系統解釋器的原因,腳本沒有問題,換一下解釋器就OK了。鬱卒的要死……

什麼是bash ?

Bash(GNU Bourne-Again Shell)是許多Linux平台的內定Shell,事實上,還有許多傳統UNIX上用的Shell,像tcsh、csh、ash、bsh、ksh等等。

GNU/Linux 操作系統中的 /bin/sh 本是 bash (Bourne-Again Shell) 的符號鏈接,但鑒於 bash 過於復雜,有人把 bash 從 NetBSD 移植到 Linux 並更名為 dash (Debian Almquist Shell),並建議將 /bin/sh 指向它,以獲得更快的腳本執行速度。Dash Shell 比 Bash Shell 小的多,符合POSIX標准。

Debian和Ubuntu中,/bin/sh默認已經指向dash,這是一個不同於bash的shell,它主要是為了執行腳本而出現,而不是交互,它速度更快,但功能相比bash要少很多,語法嚴格遵守POSIX標准。

就是這個倒霉的dash解釋器使得我按照bash語法寫的shell 腳本不能運行。

要知道自己的/bin/sh指向何種解釋器,可以用 ls /bin/sh -al 命令查看:

        $ ls /bin/sh -al

        lrwxrwxrwx 1 root root 4 11月 16 15:33 /bin/sh -> bash

以上結果就表示當前系統用的是dash解釋器。

切換到bash的方式其實挺簡單的,關鍵是一直沒找出這個原因……

修改默認的sh,可以採用命令 sudo dpkg-reconfigure dash

會出現一個圖片狀的配置菜單,選no就可以了

再次檢查一下, ls /bin/sh -al 發現軟鏈接指向/bin/bash

         lrwxrwxrwx 1 root root 4 11月 16 15:33 /bin/sh -> bash

參考資料: Ubuntu 的 bash和dash的區別_Linux教程_Linux公社-Linux系統門戶網站

感謝度娘!!

註:dash 和 bash 語法上的主要的區別有:

❾ linux中的shell究竟是什麼

linux中的shell究竟是;

ll程序呢? 簡單的說shell程序就是一個包含若干行

shell或者linux命令的文件.

象編寫高級語言的程序一樣,編寫一個shell程序需要一個文本編輯器.如VI等.

在文本編輯環境下,依據shell的語法規則,輸入一些shell/linux命令行,形成一個完整

的程序文件.

❿ linux下的 shell到底是什麼啊

在計算機科學中,是指「提供用戶使用界面」的軟體,通常指的是命令行界面的解析器。一般來說,shell是指操作系統中,提供訪問內核所提供之服務的程序。

閱讀全文

與linuxtcsh相關的資料

熱點內容
android錄音開源 瀏覽:457
弗洛伊德演算法c 瀏覽:10
udp命令字 瀏覽:659
app服務端java源碼 瀏覽:798
電腦用文件夾玩大型游戲 瀏覽:254
安卓耳塞失靈怎麼辦 瀏覽:765
華三交換機保存命令 瀏覽:605
命令方塊怎麼調鍵盤 瀏覽:841
不把密碼存在伺服器上怎麼辦 瀏覽:398
怎麼讓指令方塊的命令消失 瀏覽:543
用單片機做plc 瀏覽:404
雲伺服器進入子目錄命令 瀏覽:795
伺服器機櫃如何配電 瀏覽:578
怎麼刪除iphone資源庫里的app 瀏覽:940
pdf魚 瀏覽:648
單片機pcf8591什麼作用 瀏覽:805
sql命令學院 瀏覽:283
加密軟體在電腦那個盤 瀏覽:988
android獲取外部存儲 瀏覽:573
怎麼查自己家的伺服器地址 瀏覽:858