[英]Passing arguments with spaces between (bash) script
我有以下 bash 兩個腳本
灰:
#!/bin/bash
./b.sh 'My Argument'
b.sh:
#!/bin/bash
someApp $*
someApp 二進制文件接收$*
作為 2 個參數('My' 和 'Argument')而不是 1。
我已經測試了幾件事:
b.sh
運行 someApp 按預期工作b.sh
的參數按預期工作$@
而不是$*
沒有區別 $*
,不加引號,擴展為兩個詞。 您需要引用它,以便someApp
接收單個參數。
someApp "$*"
您可能想使用$@
代替,這樣如果您將b.sh
調用為someApp
將收到兩個參數
b.sh 'My first' 'My second'
使用someApp "$*"
, someApp
將收到一個參數My first My second
。 使用someApp "$@"
, someApp
將接收兩個參數, My first
和My second
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.