這篇文章介紹一下bash下的常用的與、或同編寫格式的基礎知識。
之所以將這三個基礎知識點放到一起,是因為在實際的使用中,當需要在將若干條語句在一行執行時,除了簡順次執行之外,可能還需要一些簡單的條件控制,比如當需要把指令碼寫成一行的時候,分號可以起到連線的作用。比如如下示例
兩個&符號,在指令碼中表示"與操作"的概念,與操作連線兩個表示式或者值,而在指令碼中使用格式如下所示:
使用格式:命令a && 命令b命令a執行結果
命令b是否執行
執行成功
執行執行失敗
不執行我們可以通過如下使用示例進行確認
liumiaocn:scripts liumiao$ true
&&echo liumiao
liumiao
liumiaocn:scripts liumiao$
liumiaocn:scripts liumiao$ false
&&echo liumiao
liumiaocn:scripts liumiao$
兩個|符號,在指令碼中表示"或操作"的概念,或操作連線兩個表示式或者值,而在指令碼中使用格式如下所示:
使用格式:命令a || 命令b命令a執行結果
命令b是否執行
執行成功
不執行執行失敗
執行我們可以通過如下使用示例進行確認
liumiaocn:scripts liumiao$ true
||echo liumiao
liumiaocn:scripts liumiao$ false
||echo liumiao
liumiao
liumiaocn:scripts liumiao$
**可以寫在一行
liumiaocn:scripts liumiao$ cat test_basic_1.sh |
awk''
1 #!/bin/sh
2 3 echo
"shell: [$shell]"
;hostname
;uname
;pwd
;4
5 echo
"use \\ for format"
6 7 echo
"shell: [$shell]"
; \8 hostname
; \
9 uname
; \
10 pwd
;liumiaocn:scripts liumiao$
liumiaocn:scripts liumiao$ cat test_basic_1.sh |
awk''
1 #!/bin/sh
2 3 echo
"shell: [$shell]"
&&hostname
&&uname
&&pwd
;4
5 echo
"use \\ for format"
6 7 echo
"shell: [$shell]" \
8 &&
hostname \
9 &&
uname \
10 &&
pwdliumiaocn:scripts liumiao$
liumiaocn:scripts liumiao$ sh test_basic_1.sh
shell: [/bin/bash]
liumiaocn
darwin
/users/liumiao/scripts
use \ for
format
shell: [/bin/bash]
liumiaocn
darwin
/users/liumiao/scripts
liumiaocn:scripts liumiao$
這種方式在dockerfile中使用的最為常見,因為dockerfile的run命令是典型的需要一行shell解決問題的場景。 bash指令碼基礎
shell 指令碼 一 如何建立新shell指令碼?1.建立包含bash命令的文字檔案。檔案第一行應為 bin bash 2.使檔案可執行 使用chmod x scripts 3.將檔案放置在使用者的 path的目錄中 bin 用於使用者的私有程式 usr local bin 本地開發 系統上的其他...
bash指令碼基礎
新建bash指令碼 vim hello.sh bin bash echo hello world bin bash 在 bash 中 第一行的 及後面的 bin bash 就表明該檔案是乙個 bash 程式,需要由 bin 目錄下的 bash 程式來解釋執行。bash 這個程式一般是存放在 bin ...
BASH指令碼基礎 使用set
這篇文章介紹一下在bash中使用set的方法。set可以用於設定指令碼的執行方式,指令碼啟動時也可以通過設定選項來進行設定。在指令碼啟動的設定中,常見的一些選項都可以通過set來進行設定,比如 設定選項 設定選項 快捷設定選項 設定說明 語法檢查 n 用來進行bash語法的檢查 原始碼顯示 verb...