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]\$ ' ...
评论暂时关闭