-1

$( 形式を使用して bash シェルで変数を設定するのに最悪の時間を過ごしています。

ここに私が持っているものがあります:

#!/bin/bash

var= date
echo $var

hrs="NA"
min="NA"
t="AM"
hr=12

var= date | grep -o [0-9][0-9]':'[0-9][0-9]
echo $var

if echo $var | grep -q [0-9][0-9] | > 12
then

echo $hrs
hrs=$(echo $var | grep -o "[0-9][0-9]")
echo $hrs
hrs="$hrs-$hr"
fi

echo $hrs

if $var | grep -q [0-9][0-9] | > 12
then
    t="PM"
fi

echo $t

ただし、後で hrs 変数をエコーすると、空の文字列になります。私の課題のどこが間違っているのか誰か説明してもらえますか? 私は if ステートメントを入力していることを知っているので、それは問題ではないと思います。

4

1 に答える 1

1

私はあなたがこのようなものが欲しいと思います:

if [ $(echo "$var" | grep -q [0-9][0-9]) -ge 12 ]
then
    hrs=$(echo "$var" | grep -o "[0-9][0-9]")
fi

コードで変更する必要があります

var= date | grep -o [0-9][0-9]':'[0-9][0-9]
#   ^                         ^ ^

為に

var=$(date | grep -o '[0-9][0-9]:[0-9][0-9]')
#   ^^               ^                     ^^
于 2013-02-26T19:27:51.583 に答える