當前位置:首頁 » 編程軟體 » bash腳本字元串

bash腳本字元串

發布時間: 2023-07-28 22:57:53

① 如何將bash shell腳本字元串寫入到文件中

剛學完新書《實用Linux Shell編程》,寫的不錯,容易懂,網上和書店都有賣。

現在試著回答,僅供參考,謝謝。

1)先保證文件內容正確:

2)文件1文件2隻有唯一字元串,所以情況相對簡單。腳本寫好了,別忘了給腳本增加執行許可權。

② hell 如何在bash腳本中連接兩個字元串變數

bash在一個腳本里引用另一個腳本定義的變數有3種方法:

  • fork(/directory/script.sh)

    fork是最普通的,就是直接在腳本裡面用/directory/script.sh來調用script.sh這個腳本.

    運行的時候開一個sub-shell執行調用的腳本,sub-shell執行的時候,parent-shell還在。

    sub-shell執行完畢後返回parent-shell.sub-shell從parent-shell繼承環境變數.但是sub-shell中的環境變數不會帶回parent-shell

  • exec(exec/directory/script.sh)

    exec與fork不同,不需要新開一個sub-shell來執行被調用的腳本.被調用的腳本與父腳本在同一個shell內執行。但是使用exec調用一個新腳本以後,父腳本中exec行之後的內容就不會再執行了。這是exec和source的區別

  • source(source/directory/script.sh)

    與fork的區別是不新開一個sub-shell來執行被調用的腳本,而是在同一個shell中執行.所以被調用的腳本中聲明的變數和環境變數,都可以在主腳本中得到和使用.

  • 可以通過下面這兩個腳本來體會三種調用方式的不同:

    1.sh

    #!/bin/bash

    A=B

    echo"PIDfor1.shbeforeexec/source/fork:$$"

    exportA

    echo"1.sh:$Ais$A"

    case$1in

    exec)

    echo"usingexec…"

    exec./2.sh;;

    source)

    echo"usingsource…"

    ../2.sh;;

    *)

    echo"usingforkbydefault…"

    ./2.sh;;

    esac

    echo"PIDfor1.shafterexec/source/fork:$$"

    echo"1.sh:$Ais$A"

    2.sh

    #!/bin/bash

    echo"PIDfor2.sh:$$"

    echo"2.shget$A=$Afrom1.sh"

    A=C

    exportA

    echo"2.sh:$Ais$A"

    執行情況:

    $./1.sh

    PIDfor1.shbeforeexec/source/fork:5845364

    1.sh:$AisB

    usingforkbydefault…

    PIDfor2.sh:5242940

    2.shget$A=Bfrom1.sh

    2.sh:$AisC

    PIDfor1.shafterexec/source/fork:5845364

    1.sh:$AisB

    $./1.shexec

    PIDfor1.shbeforeexec/source/fork:5562668

    1.sh:$AisB

    usingexec…

    PIDfor2.sh:5562668

    2.shget$A=Bfrom1.sh

    2.sh:$AisC

    $./1.shsource

    PIDfor1.shbeforeexec/source/fork:5156894

    1.sh:$AisB

    usingsource…

    PIDfor2.sh:5156894

    2.shget$A=Bfrom1.sh

    2.sh:$AisC

    PIDfor1.shafterexec/source/fork:5156894

    1.sh:$AisC

    $

③ bash腳本中,條件判斷一個字串是否在數組中,除了列舉之外,還有什麼簡單的寫法嗎

只能是遍歷數組元素來比較:
if [ "$str1「 = "conditon1" ]; then
action1
elif [ 「$str1」 = "conditon3" ]; then
action 3
fi
for elem in ${array[@]}
do
if [ "$str1" = "$elem" ]; then
action2
break
fi
done

④ 在shell bash腳本里,如何把一個字元串中的回車轉成其他字元

假設 s 是含回車的字元串

echo$s|tr'
''	'

能夠將回車轉成 Tab。 可以換成你想要字元。

熱點內容
ubuntu設置ftp許可權 發布:2025-02-06 01:54:07 瀏覽:598
奇瑞5哪個配置值得買 發布:2025-02-06 01:51:56 瀏覽:551
黑鯊手機哪裡看安卓版本 發布:2025-02-06 01:36:04 瀏覽:802
如何配置2檸檬酸 發布:2025-02-06 00:57:26 瀏覽:435
積木源碼 發布:2025-02-06 00:55:26 瀏覽:546
變分的運演算法則 發布:2025-02-06 00:55:21 瀏覽:776
x2哪個配置性價比高 發布:2025-02-06 00:40:12 瀏覽:110
豬哥亮訪問張菲 發布:2025-02-06 00:37:52 瀏覽:571
期貨賬戶怎麼改密碼 發布:2025-02-06 00:32:35 瀏覽:280
qq自動上傳群文件 發布:2025-02-06 00:26:25 瀏覽:112