スペースを含む引数を受け入れるにはスクリプトが必要です。

スペースを含む引数を受け入れるにはスクリプトが必要です。

私はこの問題のためにスクリプトに本当にぶら下がっていました。パラメータを受け入れて結果を提供するにはスクリプトが必要ですが、空白があるため、最初の単語のみが表示されます。例えば。

cat open.sh
echo My name is $1

export start=`date +"%b %d %k:%M:%S %Y"`

[oracle@spiderman scripts]echo $start
Jul 01 3:03:18 2016

[oracle@spiderman scripts]$sh open.sh `echo $start`
The time is Jul

出力が必要です。The time is Jul 01 3:03:18 2016.

同じ出力を別の複雑なスクリプトに渡す必要があります。

答え1

$()次のコマンド置換を使用する必要があります。date

export start=$(date +"%b %d %k:%M:%S %Y")
export end=$(date +"%b %d %k:%M:%S %Y")

そしてopen.sh変化

echo The time is "$1" and end time is "$2"

(注:常に変数を引用してください。これ)

次のように引用したパラメータを使用してスクリプトを実行します。

$ sh open.sh "$start" "$end"
The time is Jul 01 20:24:03 2016 and end time is Jul 01 22:19:25 2016

関連情報