初學shell編程,遇到的一些問題和總結: 一、#!/bin/sh 為什麼要在shell程式里要加這一行? 首先在shell編程裡面,“#”符號確實是一個註釋符號,但是在這裡絕對不是註釋符號,是給的一個shell的路徑,相當於是給的一個環境變數。如果沒有加上這一句話,則程式執行會用預設的shell來 ...
初學shell編程,遇到的一些問題和總結:
一、#!/bin/sh 為什麼要在shell程式里要加這一行?
首先在shell編程裡面,“#”符號確實是一個註釋符號,但是在這裡絕對不是註釋符號,是給的一個shell的路徑,相當於是給的一個環境變數。如果沒有加上這一句話,則程式執行會用預設的shell來解釋執行,極有可能會報錯。所以建議大家就把"#!/bin/sh當成C 語言的main函數一樣,寫shell必須有,以使shell程式更嚴密。
二、useradd 和 adduser的差別:
在CentOs下useradd與adduser是沒有區別的都是在創建用戶,在home下自動創建目錄,沒有設置密碼,需要使用passwd命令修改密碼。並且會在/home下創建一個用戶名的文件,而在Ubuntu下useradd與adduser有所不同:
1、useradd在使用該命令創建用戶是不會在/home下自動創建與用戶名同名的用戶目錄,而且不會自動選擇shell版本,也沒有設置密碼,那麼這個用戶是不能登錄的,需要使用passwd命令修改密碼。
2、adduser在使用該命令創建用戶是會在/home下自動創建與用戶名同名的用戶目錄,系統shell版本,會在創建時會提示輸入密碼,更加友好。
三、是否在shell編程中都需要加";"結尾?
在shell程式中的語句,“;”用於多個語句之間的分隔符,如果只有一條語句不用加“;”,如果語句在末尾也不用再加";"。
正在學習,待更新!由於初學shell,所以有很多地方瞭解的還不是很透徹,這些也是我查找各個博客和課本後的總結,如果有錯誤請及時留言,謝謝!