中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

我看shell的第一眼

發布時間:2020-08-08 09:41:14 來源:網絡 閱讀:603 作者:孫小銀 欄目:軟件技術

我看shell的第一眼

1、腳本解釋器設置

腳本第一行:#!/bin/sh

[root@SUN sun]# cat test.sh
#!/bin/sh

首先第一行可以拆分為兩部分,#!和絕對路徑,#!只是特殊的表示符,#!后面存放的是解釋器地址(即shell存放路徑)。注意,shell路徑必須是全路徑。其實第一行也不是非寫不可,是可以省略的,不寫第一行,可以手動指定shell,例如:sh   test.sh,手動指定shell,腳本文件還不必要求有執行權限。

2shell執行腳本的過程

a、執行交互式命令

用戶進入終端,shell進程已經被運行,用戶輸入一條命令,如果是shell內部命令(例如cd,exec,此時不會新建一個進程,內部命令其實就是shell里的一個子函數,就在當前進程執行完畢。如果是一個外部命令(例如lsrm),則shell進程會先fork一個子進程,調用exec執行該命令,父進程調用wait()waitpid()來等待子進程結束。

b、執行腳本文件

shell進程會先fork一個子進程,然后調用exec執行腳本文件。這個時候執行exec執行的另外一套機制,exec會讀取文本文件的第一行,如果指定了解釋器,則會調用指定的解釋器,從解釋器的_start開始執行,腳本文件的內容就當作參數傳給解釋器。

3、查看當前使用shell的方法

1echo $SHELL

   [root@SUN Desktop]# echo $SHELL
  /bin/bash

2ps

[root@SUN Desktop]# ps
    PID TTY          TIME CMD
   3246 pts/0    00:00:00 bash
   3269 pts/0    00:00:00 ps

(3)輸入一條不存在的命令,abcd

[root@SUN Desktop]# adcd
  bash: adcd: command not found

4ehco $0

  [root@SUN Desktop]# echo $0
   /bin/bash

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鸡东县| 长宁县| 临江市| 岗巴县| 富平县| 菏泽市| 东城区| 桑日县| 郯城县| 尼木县| 通化市| 常宁市| 广元市| 衡水市| 湖州市| 临沂市| 平潭县| 东明县| 佳木斯市| 宾阳县| 曲松县| 三原县| 二手房| 托克托县| 丽水市| 汉沽区| 静宁县| 潞西市| 碌曲县| 长寿区| 平定县| 余庆县| 苏尼特左旗| 北宁市| 民丰县| 天门市| 崇礼县| 新建县| 拉孜县| 邵武市| 内乡县|