歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> 學習Linux

linux shell程序,linuxshell

linux shell程序,linuxshell


linux shell程序,linuxshell


1、查看我們的Linux(centos6.5為例)有多少我們可以使用的shell:

[root@localhost bin]# cat /etc/shells 
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh

系統某些服務在運作過程中,會去檢查使用者能夠使用的shells,而這些shell的查詢就是由/etc/shells這個檔案。

2、當我們登入Linux系統的時候,系統就會給我一個shell來工作,而這個登錄取得的shell就記錄在/etc/passwd這個檔案裡:

[root@localhost bin]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
...

 3、shell的內部指令type,知道指令來自外部指令伙食內建在bash當中。

[root@localhost bin]# man cd
[root@localhost bin]# type cd
cd is a shell builtin
[root@localhost bin]# type -t cd
builtin  #表示該指令為bash內建的指令功能
[root@localhost bin]# type -a cd
cd is a shell builtin
[root@localhost bin]# type type
type is a shell builtin
[root@localhost bin]# type it ls
alias #表示該指令為命名別名所設定的名稱

  [root@localhost bin]# type uname
  uname is hashed (/bin/uname)
  [root@localhost bin]# type -t uname
  file   #表示為外部指令

4、變量的取用 echo

[root@localhost bin]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost bin]# echo ${PATH}
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

變量的設定 = ,如果一個變量未設定,內容為空

[root@localhost bin]# echo $myname

[root@localhost bin]# myname=tian
[root@localhost bin]# echo $myname
tian

子程序,就是在目前這個shell的情況下,去啟用另一個新的shell,新的shell就是子程序。在一般狀態下,父程序的自定義變量無法在子程序內使用,但是通過export將變量變成環境變量,就能在子程序下應用了。

[root@localhost bin]# echo $name
yes
[root@localhost bin]# bash  #進入所謂的子程序
[root@localhost bin]# echo $name

[root@localhost bin]# exit  #離開子程序
exit
[root@localhost bin]# export name
[root@localhost bin]# bash
[root@localhost bin]# echo $name
yes
[root@localhost bin]# exit

變量的設定規則:

5、環境變量

env,environment的簡寫,列出所有的環境變量

[root@localhost /]# env
HOSTNAME=localhost.localdomain
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
USER=root
...

set,觀察所有變量(包含環境變量和自定義變量)

[root@localhost /]# env
BASH=/bin/bash
BASH_VERSINFO=([0]="4" [1]="1" [2]="2" [3]="1" [4]="release" [5]="i386-redhat-linux-gnu")
BASH_VERSION='4.1.2(1)-release'
HISTFILE=/root/.bash_history
HISTFILESIZE=1000
HISTSIZE=1000
HOSTTYPE=i386
OLDPWD=/
OSTYPE=linux-gnu
PPID=5200
PS1='[\u@\h \W]\$ '
...

 

http://xxxxxx/Linuxjc/1135727.html TechArticle

Copyright © Linux教程網 All Rights Reserved