怎樣向shell函式中傳遞有空格的字串引數

時間 2021-08-11 18:10:18

1樓:匿名使用者

$1, $2, $3, ....代表第1, 第2,第3.....個引數

$#代表引數個數

寫一個指令碼:

$ cat parameter_1.sh

#!/bin/bash

echo $1, $2, $3

echo $#

增加執行許可權:

$ chmod +x parameter_1.sh執行它,帶3個引數

$ ./parameter_1.sh q1 q2 q3q1, q2, q3

3執行它,帶5個引數

$ ./parameter_1.sh q1 q2 q3 q4 q5q1, q2, q35

2樓:柳鯤鵬

自己嘗試了一番,終於找到真正解決辦法。這個辦法的優點是,可以同時傳遞多個帶空格的引數。注意下文中有黑體的部分:

主指令碼test.sh:

project_clean=0

project_files="file1 file2"

./build-project.sh $project_clean "$project_files"

輔指令碼build-project.sh:

param_clean=$1

param_files="$2"

for file_name in $param_filesdoecho $file_name

done

3樓:匿名使用者

引數如下:

$# ----傳遞給程式的總的引數數目

$? ----上一個**或者shell程式在shell中退出的情況,如果正常退出則返回0,反之為非0值。

$* ----傳遞給程式的所有引數組成的字串。

$n ----表示第幾個引數,$1 表示第一個引數,$2 表示第二個引數 ...   $0 ----當前程式的名稱

$@----以"引數1" "引數2" ... 形式儲存所有引數$$ ----本程式的(程序id號)pid$! ----上一個命令的pid

shell 變數的值中如果有空格

4樓:匿名使用者

echo會把多餘的抄空格消

bai去,要想顯示全部用”“把

du值包括進來zhi

如:a="a b c"

echo $a

顯示為dao a b c

echo "$a"

顯示為a b c

c語言陣列如何在函式中傳遞?不要指標傳遞

陣列只能通過指標傳遞,不能通過值傳遞。陣列引數屬於指標引數,指標引數即時傳址引數 或叫引用引數 如果想在函式中修改引數的值,這是唯一的途徑.如果把陣列當作引數,不管願意與否,它就是指標,指向第乙個值的指標.1.陣列引數就是指向第乙個元素的指標 include void getarr int p,in...

在熱傳遞過程中,熱量總是從的物體向物

愼獨 熱傳遞,是熱從溫度高的物體傳到溫度低的物體,或者從物體的高溫部分傳到低溫部分的過程。熱傳遞是自然界普遍存在的一種自然現象。只要物體之間或同一物體的不同部分之間存在溫度差,就會有熱傳遞現象發生,並且將一直繼續到溫度相同的時候為止。發生熱傳遞的唯一條件是存在溫度差,與物體的狀態,物體間是否接觸都無...

請問在C語言中,函式傳參時怎樣利用指標傳遞陣列

大野瘦子 陣列名就是指標,例如 include void pr char p printf p void main void char s abc pr s 樹桖珍 比如函式需要一個整型陣列 void ex int a 或者可以寫成 void ex int a 效果是一樣的。使用的時候 引用陣列中的...