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

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

1樓:柳鯤鵬

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

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

2樓:匿名使用者

$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指令碼讀取檔案,檔案是有多個字串,中間是空格。這個指令碼要怎麼寫呀?求高手指教

3樓:匿名使用者

#!/bin/bash

myfile=/path/filenamecat $myfile | while read linedoecho "$line" #輸出整行內容echo "$line" | awk '' #輸出每行第一個欄位

done

以上是示例,根據你的需要自版己修改吧。權

4樓:小米飛貓

grep -op '\w+' file

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

cat 1 bin bash echo 1 sh 1 12 23 4 12 23 4 將包含空格的字串用雙引號引起來,這樣就可以傳遞了。 用雙引號就可以了,這樣就是乙個整體 例如 test.sh hello world 指令碼中取引數時也要用雙引號 1 字串加引號,或者空白前面加轉義符。 加上雙引號...

如何在shell指令碼中執行cd命令

在工作中,網際網路公司,經常不是直接登入到服務上,而是通過跳板機進行中轉。這樣就會用到cd命令切換目錄。編輯shell檔案 vim switchdir.sh plain view plain copycd opt service mobile kafka 2.10 0.8.1 lizt bin so...

2在shell指令碼中是什麼意思

在unix linux裡面執行的程式列印到銀幕上有兩個不同的路涇,乙個是stdout standard output 另乙個是stderr standard error 這兩者雖然平時都同樣的顯示在螢幕上,但是如果你想把他們存入檔案檔案裡時,他們可以單獨的存入不同的文件,例如 把 programa ...