updateEnvironmentField() {
linewithoutquotes=`echo $LINE | tr -d '"'`
b()
}
$linewithoutquotesという変数をupdateEnvironmentField()メソッドから呼び出されるb()という別のメソッドに渡したいと思います。上記の要件を達成するためにシェルスクリプトを使用する方法
答え1
b () {
arg=$1
# more code here
}
updateEnvironmentField () {
linewithoutquotes=`echo $LINE | tr -d '"'`
b "$linewithoutquotes"
}
ここでは、b
コマンド置換の結果を文字列として呼び出します。このb
関数は変数から文字列を受け取りますarg
。
printf
代わりにinを使用し、スペースやワイルドカード文字などがデータを混乱させないように拡張を適切にecho
引用する必要があります。パフォーマンスを向上させるために、バックティックも次のように変更しました。$LINE
$(...)
updateEnvironmentField () {
linewithoutquotes=$( printf '%s\n' "$LINE" | tr -d '"' )
b "$linewithoutquotes"
}
bash
シェルを使用している場合は、${variable//pattern}
パラメータ置換を使用して二重引用符を削除できます。
updateEnvironmentField () {
linewithoutquotes=${LINE//\"}
b "$linewithoutquotes"
}
そうでなければ
updateEnvironmentField () {
b "${LINE//\"}"
}
関連: