初學高階程式設計 shell程式設計

2022-07-19 01:36:13 字數 690 閱讀 8704

初學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程式設計高階3

二 case結構條件句 1 語法格式 case 字串變數 in 值1 指令1 值2 值3 值4 指令2 指令 esac 2 示例 1 示例1 根據使用者的選擇輸入,判斷是哪種水果並加上不同顏色 a 給字串加顏色 vi services scripts echo color01.sh echo e 0...

shell高階程式設計 引用

在shell中,引用的意思就是時講字串使用雙擁好括起來,他的作用就是保護字串中的特殊字元 不被shell或者shell指令碼重新解釋,或者擴充套件。andrew andrew ls l ss rwx 1 andrew andrew 3849 1月 19 01 07 sources.list andr...

shell指令碼程式設計高階(一)

可以巢狀 分支if 判斷條件 then 條件為真的分支 fiif 判斷條件 then 條件為真的分支 else 條件為假的分支 fiif 判斷條件1 then 條件1為真的分支 elif 判斷條件2 then 條件2為真的分支 elif 判斷條件3 then 條件3為真的分支 else 以上條件都為...