bash提供了兩種方法將命令列表組合作為乙個單元執行。
( ) 和
組合命令後,重定向應用於整個命令列表。
$ echo 1;
echo 2 >foo
1$ cat foo
2$ (echo 1;
echo 2)
>foo
$ cat foo
12
兩種組合方式的區別
(list)
( )會建立乙個subshell環境,list這個環境下執行。
不會建立乙個subshell環境,list在當前shell下執行
( )是運算子,list不需要前後由空白符與()分隔
其實是保留字,list前後需要由空白符或metacharacter與{}分隔
$ var=123
$ (echo $var
;var=456;
echo
$var
)# 新建乙個subshell,所以對var的賦值,在subshell退出後不會保留
123456
$ echo
$var
123$
# 在當前subshell執行
123456
$ echo
$var
456
Bash基礎 順序執行命令
首先,值得提一下的是,在bash裡,最小的執行單位應該是pipeline.bash支援對pipelines進行組合,產生順序 條件 迴圈等結構。每個pipeline在其自己的subshell中執行,有自己的pid.但是為了方便,在這裡介紹順序 條件 迴圈結構時,不刻意強調是由pipeline組成,依...
linux常識與基礎bash命令
分核心版本 只有黑框子 和發行版本 有桌面等 字尾最後乙個數字是奇數 開發版本 偶數 穩定版本 centos 是全球用的最多的 shift ctrl t 開啟乙個標籤 文字編輯器nano 和 vi 神器 cd 跳轉路勁 注 是指放home檔案目錄 cd 快速回到上個所在路徑 ls 列出檔案 alh ...
bash基本特性及基礎命令
3.路徑補全 4.命令列展開 5.命令的執行狀態 結果 二 目錄管理類命令 三 文字檔案檢視類命令 四 檔案的時間戳管理工具 環境變數 histsize 命令歷史記錄的條數 histfile bash history histfilesize 命令歷史檔案記錄歷史的條數 建議使用 esc,先按esc...