『壹』 請問linux系統下:bash和ksh如何切換
如果你想使用ksh作為你的默認shell 用chsh命令
格式 chsh [ -s shell ] [ username ]
描述
chsh 用來更換你登入時所用的shell 。在命令列沒指定shell。 chsh 會提示一個老帆給你。
加入你侍裂雹的名字叫user 就這樣
chsh -s ksh user 就可以改變你默認的登陸shell了
其實bash比ksh強大很多了 否則也不會所源廳有的linux發行版都用bash做默認shell了
學習的話 想用得時候直接運行ksh 就可以 退出的時候運行exit
也可以參考《Linux就該這么學》中的章節內容嘗試解決。
『貳』 在linux下 什麼是bash.什麼又是shell
bash 是一個為GNU項目編寫的Unix shell,也就是linux用的shell。
Shell俗稱殼(用來區別於內核),是指「提供使用者使用界面」的軟體,就是一個命令行解釋器。
BASH是SHELL的一種,是大多數LINUX發行版默認的SHELL,除BASH SHELL外還有C SHELL等其它類型的SHELL。
linux主要特性:
1,基本思想:
Linux的基本思想有兩點:第一,一切都是文件;第二,每個軟體都有確定的用途。其中第一條詳細來講就是系統中的所有都歸結為一個文件,包括命令、硬體和軟體設備、操作系統、進程等等對於操作系統內核而言,都被視為擁有各自特性或類型的文件。至於說Linux是基於Unix的,很大程度上也是因為這兩者的基本思想十分相近。
2,完全免費:
Linux是一款免費的操作系統,用戶可以通過網路或其他途徑免費獲得,並可以任意修改其源代碼。這是其他的操作系統所做不到的。正是由於這一點,來自全世界的無數程序員參與了Linux的修改、編寫工作,程序員可以根據自己的興趣和靈感對其進行改變,這讓Linux吸收了無數程序員的精華,不斷壯大。
3,完全兼容POSIX1.0標准:
這使得可以在Linux下通過相應的模擬器運行常見的DOS、Windows的程序。這為用戶從Windows轉到Linux奠定了基礎。許多用戶在考慮使用Linux時,就想到以前在Windows下常見的程序是否能正常運行,這一點就消除了他們的疑慮。
4,多用戶、多任務:
Linux支持多用戶,各個用戶對於自己的文件設備有自己特殊的權利,保證了各用戶之間互不影響。多任務則是現在電腦最主要的一個特點,Linux可以使多個程序同時並獨立地運行。
5,良好的界面:
Linux同時具有字元界面和圖形界面。在字元界面用戶可以通過鍵盤輸入相應的指令來進行操作。它同時也提供了類似Windows圖形界面的X-Window系統,用戶可以使用滑鼠對其進行操作。在X-Window環境中就和在Windows中相似,可以說是一個Linux版的Windows。
『叄』 Linux-SHELL中sh和bash的區別
sh通常是一個軟鏈接,鏈接到系橡耐統默認shell,如果bash是系帆運統默認的話那sh就是bash,debian的是dash,梁轎春不是bash
『肆』 我想問linux kash和bash的區別,為什麼我的kash語句在red hat上面運行不了呢,需要定義什麼嗎
http://..com/link?url=_hHUn3qDkuoepP2QWVadtCbZK
『伍』 linux 下怎麼切換bash和shell
Linux下bash也是shell的一種,如果需要切換shell(一般是bash shell),先查看系統可用的shell種類:
[oracle@zeng~]$chsh-l
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh
修改當前的shell
[oracle@zeng~]$chsh
Changingshellfororacle.
Password:
Newshell[/bin/bash]:/bin/ksh
Shellchanged.
『陸』 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是ksh還是bash以及怎樣修改
現在一般都是bash
你可以使用
# cat /etc/passwd | grep "^(root)"
root是用戶名,慧絕,表示你登錄的那個用戶念滲名,,前高姿 如果你的用戶是其它這里要替換
然後看顯示在行尾的是/bin/bash就是bash 如果是其它的 就是其它的shell
『捌』 Linux bash/kash的區別
內置清知謹命答基令不同。Ksh 有的 Bash 都有,但Bash 有的Ksh 不一定有。所以要是編寫的以Bash 為環境,那麼在Ksh下可能出現不兼容的現象,導致腳本無法運行或運行猛胡出錯。
『玖』 請問linux系統下:bash和ksh如何切換
在bash中輸入ksh回車,就進入了ksh,悔首帶相當於子shell,退出可以使用ctrl+d,返回bash,在ksh下輸入bash就可以切換到芹顫bash了,當然退出也是ctrl+d。
當然bash一般是安裝過的,但是ksh就不一定安碧蘆裝了,如果提示command not found的話,那就是沒有安裝了。
『拾』 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 語法上的主要的區別有: