Shell程式設計-基礎
1.shell是什麼?
就是命令直譯器,是使用者訪問系統的介面。
shell還是一門程式語言,shell是一種解釋執行的程式語言。
shell是從前往後執行的。
一個作業系統中可以存在多個shell
[root@VM_0_16_centos ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
2.shell的種類
1)sh
bash(Linux)
2)csh
3.檢視使用的shell
echo $SHELL
[root@VM_0_16_centos ~]# echo $SHELL
/bin/bash
4.shell環境定義
1)臨時環境變數:即當前登入的環境有效,重新登入則失效
[root@VM_0_16_centos ~]# pstree
systemd─┬─YDLive───{YDLive}
├─YDService───6*[{YDService}]
├─acpid
├─2*[agetty]
├─atd
├─auditd───{auditd}
├─barad_agent─┬─barad_agent
│ └─barad_agent───3*[{barad_agent}]
├─crond
├─dbus-daemon
├─dockerd-current─┬─docker-containe───6*[{docker-containe}]
│ └─9*[{dockerd-current}]
├─lsmd
├─lvmetad
├─ntpd
├─polkitd───5*[{polkitd}]
├─rsyslogd───2*[{rsyslogd}]
├─sgagent───{sgagent}
├─sshd─┬─sshd───bash───pstree
│ └─sshd───sshd
├─systemd-journal
├─systemd-logind
├─systemd-udevd
└─tuned───4*[{tuned}]
[root@VM_0_16_centos ~]# pstree
systemd─┬─YDLive───{YDLive}
├─YDService───6*[{YDService}]
├─acpid
├─2*[agetty]
├─atd
├─auditd───{auditd}
├─barad_agent─┬─barad_agent
│ └─barad_agent───3*[{barad_agent}]
├─crond
├─dbus-daemon
├─dockerd-current─┬─docker-containe───6*[{docker-containe}]
│ └─9*[{dockerd-current}]
├─lsmd
├─lvmetad
├─ntpd
├─polkitd───5*[{polkitd}]
├─rsyslogd───2*[{rsyslogd}]
├─sgagent───{sgagent}
├─sshd─┬─sshd───bash───pstree
│ └─sshd───sshd
├─systemd-journal
├─systemd-logind
├─systemd-udevd
└─tuned───4*[{tuned}]
[root@VM_0_16_centos ~]# bash
[root@VM_0_16_centos ~]# pstree
systemd─┬─YDLive───{YDLive}
├─YDService───6*[{YDService}]
├─acpid
├─2*[agetty]
├─atd
├─auditd───{auditd}
├─barad_agent─┬─barad_agent
│ └─barad_agent───2*[{barad_agent}]
├─crond
├─dbus-daemon
├─dockerd-current─┬─docker-containe───6*[{docker-containe}]
│ └─9*[{dockerd-current}]
├─lsmd
├─lvmetad
├─ntpd
├─polkitd───5*[{polkitd}]
├─rsyslogd───2*[{rsyslogd}]
├─sgagent───{sgagent}
├─sshd───sshd───bash───bash───pstree
├─systemd-journal
├─systemd-logind
├─systemd-udevd
└─tuned───4*[{tuned}]
[root@VM_0_16_centos ~]# bash
[root@VM_0_16_centos ~]# pstree
systemd─┬─YDLive───{YDLive}
├─YDService───6*[{YDService}]
├─acpid
├─2*[agetty]
├─atd
├─auditd───{auditd}
├─barad_agent─┬─barad_agent
│ └─barad_agent───3*[{barad_agent}]
├─crond
├─dbus-daemon
├─dockerd-current─┬─docker-containe───6*[{docker-containe}]
│ └─9*[{dockerd-current}]
├─lsmd
├─lvmetad
├─ntpd
├─polkitd───5*[{polkitd}]
├─rsyslogd───2*[{rsyslogd}]
├─sgagent───{sgagent}
├─sshd─┬─sshd───bash───bash───bash───pstree
│ └─2*[sshd───sshd]
├─systemd-journal
├─systemd-logind
├─systemd-udevd
└─tuned───4*[{tuned}]
只在當前環境有效
[root@VM_0_16_centos ~]# aa=123
[root@VM_0_16_centos ~]# echo $aa
123
[root@VM_0_16_centos ~]#
將環境變數永久生效
超級使用者的環境變數
/etc/profile 針對系統所有使用者生效,次檔案應用於所有使用者
普通使用者的環境變數
$home_name/.bash_profile
系統定義好的環境變數
如$HOME,$PWD等
[root@VM_0_16_centos ~]# echo $HOME
/root
[root@VM_0_16_centos ~]# echo $PWD
/root
[root@VM_0_16_centos ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/lib/jvm/java/bin:/root/bin
就是命令直譯器,是使用者訪問系統的介面。
shell還是一門程式語言,shell是一種解釋執行的程式語言。
shell是從前往後執行的。
一個作業系統中可以存在多個shell
[root@VM_0_16_centos ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
2.shell的種類
1)sh
bash(Linux)
2)csh
3.檢視使用的shell
echo $SHELL
[root@VM_0_16_centos ~]# echo $SHELL
/bin/bash
4.shell環境定義
1)臨時環境變數:即當前登入的環境有效,重新登入則失效
[root@VM_0_16_centos ~]# pstree
systemd─┬─YDLive───{YDLive}
├─YDService───6*[{YDService}]
├─acpid
├─2*[agetty]
├─atd
├─auditd───{auditd}
├─barad_agent─┬─barad_agent
│ └─barad_agent───3*[{barad_agent}]
├─crond
├─dbus-daemon
├─dockerd-current─┬─docker-containe───6*[{docker-containe}]
│ └─9*[{dockerd-current}]
├─lsmd
├─lvmetad
├─ntpd
├─polkitd───5*[{polkitd}]
├─rsyslogd───2*[{rsyslogd}]
├─sgagent───{sgagent}
├─sshd─┬─sshd───bash───pstree
│ └─sshd───sshd
├─systemd-journal
├─systemd-logind
├─systemd-udevd
└─tuned───4*[{tuned}]
[root@VM_0_16_centos ~]# pstree
systemd─┬─YDLive───{YDLive}
├─YDService───6*[{YDService}]
├─acpid
├─2*[agetty]
├─atd
├─auditd───{auditd}
├─barad_agent─┬─barad_agent
│ └─barad_agent───3*[{barad_agent}]
├─crond
├─dbus-daemon
├─dockerd-current─┬─docker-containe───6*[{docker-containe}]
│ └─9*[{dockerd-current}]
├─lsmd
├─lvmetad
├─ntpd
├─polkitd───5*[{polkitd}]
├─rsyslogd───2*[{rsyslogd}]
├─sgagent───{sgagent}
├─sshd─┬─sshd───bash───pstree
│ └─sshd───sshd
├─systemd-journal
├─systemd-logind
├─systemd-udevd
└─tuned───4*[{tuned}]
[root@VM_0_16_centos ~]# bash
[root@VM_0_16_centos ~]# pstree
systemd─┬─YDLive───{YDLive}
├─YDService───6*[{YDService}]
├─acpid
├─2*[agetty]
├─atd
├─auditd───{auditd}
├─barad_agent─┬─barad_agent
│ └─barad_agent───2*[{barad_agent}]
├─crond
├─dbus-daemon
├─dockerd-current─┬─docker-containe───6*[{docker-containe}]
│ └─9*[{dockerd-current}]
├─lsmd
├─lvmetad
├─ntpd
├─polkitd───5*[{polkitd}]
├─rsyslogd───2*[{rsyslogd}]
├─sgagent───{sgagent}
├─sshd───sshd───bash───bash───pstree
├─systemd-journal
├─systemd-logind
├─systemd-udevd
└─tuned───4*[{tuned}]
[root@VM_0_16_centos ~]# bash
[root@VM_0_16_centos ~]# pstree
systemd─┬─YDLive───{YDLive}
├─YDService───6*[{YDService}]
├─acpid
├─2*[agetty]
├─atd
├─auditd───{auditd}
├─barad_agent─┬─barad_agent
│ └─barad_agent───3*[{barad_agent}]
├─crond
├─dbus-daemon
├─dockerd-current─┬─docker-containe───6*[{docker-containe}]
│ └─9*[{dockerd-current}]
├─lsmd
├─lvmetad
├─ntpd
├─polkitd───5*[{polkitd}]
├─rsyslogd───2*[{rsyslogd}]
├─sgagent───{sgagent}
├─sshd─┬─sshd───bash───bash───bash───pstree
│ └─2*[sshd───sshd]
├─systemd-journal
├─systemd-logind
├─systemd-udevd
└─tuned───4*[{tuned}]
只在當前環境有效
[root@VM_0_16_centos ~]# aa=123
[root@VM_0_16_centos ~]# echo $aa
123
[root@VM_0_16_centos ~]#
將環境變數永久生效
超級使用者的環境變數
/etc/profile 針對系統所有使用者生效,次檔案應用於所有使用者
普通使用者的環境變數
$home_name/.bash_profile
系統定義好的環境變數
如$HOME,$PWD等
[root@VM_0_16_centos ~]# echo $HOME
/root
[root@VM_0_16_centos ~]# echo $PWD
/root
[root@VM_0_16_centos ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/lib/jvm/java/bin:/root/bin
相關文章
- shell程式設計基礎程式設計
- shell程式設計基礎二程式設計
- shell指令碼程式設計基礎指令碼程式設計
- 玩轉Linux – shell 程式設計基礎Linux程式設計
- Linux Shell指令碼程式設計-基礎1Linux指令碼程式設計
- Linux系統程式設計(12)——shell基礎Linux程式設計
- Linux-shell程式設計入門基礎Linux程式設計
- Linux之19——Shell程式設計基礎詳解Linux程式設計
- Linux Bash Shell學習(八):shell程式設計基礎——string操作Linux程式設計
- Shell程式設計基礎學習之六:sed 入門程式設計
- Linux Bash Shell學習(七):shell程式設計基礎——執行Shell指令碼、functionLinux程式設計指令碼Function
- 程式設計基礎程式設計
- Shell程式設計基礎-04-一鍵安裝和配置程式設計
- Shell程式設計基礎學習之四:語法結構程式設計
- Shell程式設計基礎學習之三:變數和test程式設計變數
- Shell程式設計基礎學習之一:正規表示式程式設計
- Linux_day06_01_Shell指令碼程式設計_Bash基礎Linux指令碼程式設計
- Socket程式設計基礎程式設計
- Go程式設計基礎Go程式設計
- Java程式設計基礎Java程式設計
- C程式設計基礎C程式程式設計
- 網路程式設計基礎-socket基礎程式設計
- Linux Shell 程式設計基礎詳解——吐血整理,牆裂推薦!Linux程式設計
- Shell程式設計基礎學習之二:變數的基本認知程式設計變數
- 講敘Linux系統之Shell程式設計基礎知識(轉)Linux程式設計
- Java 基礎02Java程式設計基礎Java程式設計
- shell程式設計程式設計
- 程式設計基礎知識程式設計
- 【程式設計基礎】輸出程式設計
- 【socket程式設計基礎模板】程式設計
- 網路程式設計基礎程式設計
- QML程式設計 基礎 小白程式設計
- JNI程式設計基礎(一)程式設計
- 【Java基礎】通用程式設計Java程式設計
- linux程式設計基礎Linux程式設計
- pl/sql程式設計基礎SQL程式設計
- python程式設計基礎Python程式設計
- Linux Shell程式設計(1)——shell程式設計簡介Linux程式設計