當前位置:首頁 » 編程軟體 » shell腳本中的括弧

shell腳本中的括弧

發布時間: 2022-08-08 09:21:28

linux shell腳本的問題

1、第二個括弧不能換成其他的,中括弧,大括弧,雙中括弧,雙括弧都不可以,意思都不一樣。
2、:-是一起的;fileuser
如果有值的話,就用所擁有的值賦予給filename變數;無值的話,就把filenname賦予給fileuser,再賦予給filename變數
3、大括弧可以不要,大括弧里不做如何的參數變化可以捨去。
你最好修改下:
#!/bin/bash
read
-p
"please
you
nmae
"
fileuser
date=$(date
--date='2
day
ago'
+%Y%m%d)
filename=${fileuser:-"filename"}
file=$filename$date
touch
$file
這樣或許能更好體現出意義來

❷ shell中尖括弧的意義 sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \

不是尖括弧,是輸入輸出重定向符號。
< $@.$$$$
> $@

sed中的替換方法:
sed 's/str1/str2/' <oldfile >newfile

sed 's/str1/str2/' oldfile >newfile

❸ shell腳本中括弧()有什麼用

三種作用,根據上下文決定作用。
在條件表達式中作用類似c語言作用,單獨作用fork子shell,定義數組

❹ shell如何輸出大括弧

大括弧在shell中有特殊的意義,輸出一般需要轉義,
使用轉義字元\{ 或\} 就可以輸出大括弧
但有些地方不需要轉義,如果轉義會輸出前面的轉義字元。
是否需要轉義可以通過測試進行判斷。

❺ shell中的for為什麼兩個括弧

for loop 的語法有下列兩種:

(1)這個是shell的古典for的用法:
for varname [in word...]
do
...
done

舉例:
for i in a b c
do
echo $i
done

(2) 這個語法類似C/C++的用法,還有((...))在shell里是算數運算用:

for (( [init_expression];[loop_condition];[loop_expression] ))
do
...
done

舉例:
for ((i=0;i<5;i++))
do
echo $i
done

注意事項:這個for的用法只有在1988-11-16後的ksh才支援,所以有許多的Unix還不支援這個for的使用語法。例如HPUX或IBM的AIX。

❻ shell腳本主要有哪些

第一個shell腳本程序:

#!/bin/bash
# 上面中的 #! 是一種約定標記, 它可以告訴系統這個腳本需要什麼樣的解釋器來執行;echo "Hello, world!"

變數:

定義變數:

country="China"Number=100

注意: 1,變數名和等號之間不能有空格;

2,首個字元必須為字母(a-z,A-Z)。

3, 中間不能有空格,可以使用下劃線(_)。

4, 不能使用標點符號。

5, 不能使用bash里的關鍵字(可用help命令查看保留關鍵字)。

使用變數:

只需要在一個定義過的變數前面加上美元符號$就可以了, 另外,對於變數的{} 是可以選擇的, 它的目的為幫助解釋器識別變數的邊界.

country="China"echo $countryecho ${country}echo "I love my ${country}abcd!"

#這個需要有{}的;

重定義變數:直接把變數重新像開始定義的那樣子賦值就可以了:

country="China"country="ribenguizi"

只讀變數: 用 readonly 命令 可以把變數字義為只讀變數。

readonly country="China"#或
country="China"readonly country

刪除變數: 使用unset命令可以刪除變數,但是不能刪除只讀的變數。用法:

unset variable_name

變數類型

運行shell時,會同時存在三種變數:

1) 局部變數

局部變數在腳本或命令中定義,僅在當前shell實例中有效,其他shell啟動的程序不能訪問局部變數。

2) 環境變數

所有的程序,包括shell啟動的程序,都能訪問環境變數,有些程序需要環境變數來保證其正常運行。必要的時候shell腳本也可以定義環境變數。

3) shell變數

shell變數是由shell程序設置的特殊變數。shell變數中有一部分是環境變數,有一部分是局部變數,這些變數保證了shell的正常運行

特殊變數:

其中, 1. 取值後面必須為關鍵字 in,每一模式必須以右括弧結束。取值可以為變數或常數。匹配發現取值符合某一模式後,其間所有命令開始執行直至 ;;。;; 與其他語言中的 break 類似,意思是跳到整個 case 語句的最後。2. 如果無一匹配模式,使用星號 * 捕獲該值,再執行後面的命令。

❼ 請教shell腳本中的方括弧

shell腳本中的方括弧,類似於[]這樣的,相當於test命令。
也就是test命令的使用方法都適用 它。

❽ 關於shell腳本的幾個問題--if和產量替換 if的語法,中括弧後面有沒有分號變數替換字元串

if [ $asd == "asdasd" ];then
fi
這是標准語法

❾ shell腳本中中括弧不能用==號嗎

能。先看我的,我再解釋為什麼你遇到這樣的問題。

1)把下面的內容存為一個腳本文件,例如,我的a.sh如下(注意美元符$是系統提示符):
$ cat a.sh
#!/bin/bash

x=8

if [[ $x == 8 ]];then
echo 'yes'
else
echo 'no'
fi

2)給它加上執行許可權:
$ chmod +x a.sh

3)看我的運行結果,說明中括弧裡面能用==號:
$ ./a.sh
yes

4)注意雙等號的兩邊需要有空格,判別式與雙中括弧之間也需要空格。你可能沒加空格,遇到了錯誤。把你的代碼或者屏幕錯誤提示貼出來,大家就能更清晰地看到問題了。

供參考,謝謝!

❿ 請教會linux shell腳本的=~是什麼意思

應該是正則表達式的字元判斷

if [[ $i =~ ^[0-9]+$ ]] && echo 1

1、^是匹配字元串開始的意思,[0-9]只要不是數字都不要。

2、~ +的意思的^[0-9]的范圍里匹配一次以上+ $是匹配結束符。

touch -t "201109021200.00" tempfile

使用引號內的時間戳在當前目錄建立一個叫tempfile的文件

find -name "*VIRTUALID*" -newer tempfile -exec cp {} /home/wbft/luo ;

(10)shell腳本中的括弧擴展閱讀:

實際上Shell是一個命令解釋器,它解釋由用戶輸入的命令並且把它們送到內核。不僅如此,Shell有自己的編程語言用於對命令的編輯,它允許用戶編寫由shell命令組成的程序。

Shell編程語言具有普通編程語言的很多特點,比如它也有循環結構和分支控制結構等,用這種編程語言編寫的Shell程序與其他應用程序具有同樣的效果。

熱點內容
刷機安卓10狀態欄圓角如何修復 發布:2024-04-24 21:24:00 瀏覽:133
創建sql資料庫的命令是什麼 發布:2024-04-24 21:23:58 瀏覽:41
不是安卓該如何下載畫質怪獸 發布:2024-04-24 21:18:51 瀏覽:699
php載入網頁 發布:2024-04-24 21:15:20 瀏覽:159
遠程伺服器更換ip地址 發布:2024-04-24 21:14:43 瀏覽:526
什麼時候上線華為方舟編譯器軟體 發布:2024-04-24 21:10:21 瀏覽:629
安卓布局文件指的是哪個 發布:2024-04-24 21:08:05 瀏覽:887
磁帶存儲價格 發布:2024-04-24 21:04:22 瀏覽:900
誤刪除文件夾恢復工具 發布:2024-04-24 20:31:57 瀏覽:383
php介面編寫 發布:2024-04-24 20:31:06 瀏覽:68