shell指令碼引數中有空格,求教關於shell指令碼中引數中的轉義空格

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

1樓:匿名使用者

# cat 1

#!/bin/bash

echo $1

# sh 1 "12 23 4 "

12 23 4

2樓:匿名使用者

將包含空格的字串用雙引號引起來,這樣就可以傳遞了。

3樓:

用雙引號就可以了,這樣就是乙個整體

例如:test.sh "hello world"

指令碼中取引數時也要用雙引號: "$1"

4樓:匿名使用者

字串加引號,或者空白前面加轉義符。

5樓:匿名使用者

加上雙引號就可以傳遞了

求教關於shell指令碼中引數中的轉義空格

6樓:柳鯤鵬

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

主指令碼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

7樓:匿名使用者

$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, q3

5執行它,帶3個引數,注意是3個,q2\ q3表示q2和空格和q3是乙個整體

q4\ q5表示q4和空格和q5是乙個整體:

$ ./parameter_1.sh q1 q2\ q3 q4\ q5

q1, q2 q3, q4 q53

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

8樓:匿名使用者

$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

9樓:柳鯤鵬

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

主指令碼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

10樓:匿名使用者

引數如下:

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

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

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

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

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

求教關於shell指令碼中引數中的轉義空格

柳鯤鵬 自己嘗試了一番,終於找到真正解決辦法。這個辦法的優點是,可以同時傳遞多個帶空格的引數。注意下文中有黑體的部分 主指令碼test.sh project clean 0 project files file1 file2 build project.sh project clean projec...

shell指令碼實現簡單功能,shell指令碼實現乙個簡單功能

使用ls al後若有檔案的話會用 表示如 rw r r 1 root root 973 aug 15 13 36 fstab 可以這樣 ls al opt grep wc l 這個命令能夠統計檔案個數 為0就是沒有檔案 非零就是有檔案 bin bash num ls al opt grep wc l...

shell指令碼執行命令,如何執行shell指令碼?

編寫好的shell指令碼 如 test 可以採取兩種方式進行執行 一 sh test 一般不採用這種呼叫方式,尤其不採用 sh也可以採用 ksh test 這種方式要求shell具有 可讀 的訪問許可權。二 直接執行可執行的shell指令碼之前,首先應使用下列chmod命令,把shell指令碼檔案設...