歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> Shell腳本基礎,管道,重定向,Shell變量

Shell腳本基礎,管道,重定向,Shell變量

日期:2017/2/28 13:48:56   编辑:SHELL編程

Linux並不用文件名的後綴來區分文件格式,但是習慣上我們還是用".sh"來表示一個shell腳本文件
剛剛寫完的一個shell腳本程序通常是沒有執行權限的,需要手動$chmod +x filename.sh來添加可執行權限

開頭

任何一個shell腳本程序都必須在開頭用#!標識使用的shell程序,如果用的是bash,那就是#!/bin/sh

注釋

shell腳本一行中的#之後的部分為注釋

管道

管道是管理Linux十分有用的工具,它可以把前一個命令的結果直接傳遞給後一個命令
$grep "test" file1.txt | wc -l

重定向

所謂重定向即將輸入輸出從標准的輸入輸出重定向到其他位置,比如從文件輸入或輸出到文件
> 如果文件不存在就創建文件並將內容寫入,如果文件存在就把文件清空再寫入內容
>>如果文件不存在就創建文件並將內容寫入,如果文件存在就在原文件後面寫入內容
$echo "this is echo" > echo_content.txt

定義變量

shell腳本的變量在使用前不需要"聲明",什麼時候用,就什麼時候定義
shell腳本的變量也不區分整型、浮點型etc,所有的變量在解釋器看來都是字符串
shell腳本的字符串可以使用" "也可以使用' '
有Python經驗的程序員可能會在運算符的前後大量的使用[空格]來使程序更加整齊,但是shell裡不能這樣,因為解釋器會把[空格]也看做變量名的一部分,導致程序出錯

var="Hello Shell"
cur_ver=1.1

使用變量

shell用$來取一個變量的值,如果有歧義,可以使用{}來對變量進行標識

echo $var 
echo $variable     #解釋器會去尋找**variable**這個變量,但這個變量是不存在的,沒有值
echo ${var}iable    
echo $cur_ver

輸出的結果

hello shell

hello shelliable
1.1
Copyright © Linux教程網 All Rights Reserved