공백이 포함된 인수를 허용하려면 스크립트가 필요합니다.

공백이 포함된 인수를 허용하려면 스크립트가 필요합니다.

저는 이 문제 때문에 스크립팅에 정말 매달렸습니다. 매개변수를 받아들이고 결과를 제공하려면 스크립트가 필요하지만 공백이 있으므로 첫 번째 단어만 표시됩니다. 예를 들어.

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

관련 정보