linux下的各种shell介绍(bash和dash转换)
生活随笔
收集整理的這篇文章主要介紹了
linux下的各种shell介绍(bash和dash转换)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在linux下編寫shell腳本文件時,經常會看到很多人在文件的第一行中標注“#!/bin/bash”。這句話的意思是告訴系統強制用bash,避免出現一些不兼容的問題。
那么,在linux系統中,除了bash之外,還有哪些shell工具?各自之間有什么區別?如何知道當前系統使用的是哪一個shell?彼此之間又如何進行轉換呢?本文就來一一解答。
1、各類常用shell介紹
不同的shell具備不同的功能,shell還決定了腳本中函數的語法,linux中默認的shell是/bin/bash,流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特點以及用途。
- ash。ash Shell是由Kenneth Almquist編寫的,是Linux 中占用系統資源最少的一個小Shell,它只包含24個內部命令,因而使用起來很不方便。
- bash。大多數Linux系統默認使用的shell,bash shell 是 Bourne shell 的一個免費版本,它是最早的 Unix shell,bash還有一個特點,可以通過help命令來查看幫助。包含的功能幾乎可以涵蓋shell所具有的功能,所以一般的shell腳本都會指定它為執行路徑。
- csh。C shell 使用的是“類C”語法,csh是具有C語言風格的一種shell,其內部命令有52個,較為龐大。目前使用的并不多,已經被/bin/tcsh所取代。
- dash。小巧,符合 POSIX 標準,但是功能很少。不是給人交互時使用的。
- ksh。Korn shell 的語法與 Bourne shell 相同,同時具備了 C shell 的易用特點。許多安裝腳本都使用 ksh ,ksh有42條內部命令,與bash相比有一定的限制性。
- tcsh。tcsh是csh的增強版,與 C shell 完全兼容。
- sh。是一個快捷方式,已經被/bin/bash所取代。
- zsh。zch是Linux 最大的Shell之一,由Paul Falstad完成,共有84 個內部命令。如果只是一般的用途,沒有必要安裝這樣的Shell。
2、如何查詢當前shell?
leon@Ubuntu:~$ ls -l /bin/sh lrwxrwxrwx 1 root root 4 9月 11 11:14 /bin/sh -> bash3、如何進行shell間的轉換?
例如,使用下面的命令可以將系統缺省的shell指定為bash:
sudo ln -fs /bin/bash /bin/sh或者, 也可以使用下面的命令完成從bash到dash的轉換:
sudo dpkg-reconfigure dash在彈出的對話框中選擇“否”!
總結
以上是生活随笔為你收集整理的linux下的各种shell介绍(bash和dash转换)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10怎么在电脑上搜索文件 win1
- 下一篇: 生成模型_常见的模型生成方式(有哪些好玩