式に変数値を追加する

式に変数値を追加する

Ubuntu Mate 20.04では、いくつかの将来の日付を新起源番号に変換しようとしています。

だから私は次のようなコードを書くことにしました。

daysAmount="10"   
endDate=$(date +"%b %_d %Y" -d "+$daysAmount days")   
epochNum=$(date -d "$endDate" +%s)  

最初の2行はうまく実行されますが、情報は得られませんepochNum=

$(date)私のように他の変数を使ってもいいですか?そうでなければ、どうすればこれを行うことができますか?

私もそれを試しましたが、endDate=$(date +"%b %_d %Y" -d "+$daysAmount days" +%s)それも動作しませんでした。

答え1

一時ロケールを使用してコマンドを実行できます。これにより問題が解決します。

daysAmount="10"   
endDate=$(LC_ALL=C date +"%b %_d %Y" -d "+$daysAmount days")   
epochNum=$(LC_ALL=C date -d "$endDate" +%s)  

答え2

それが動作するようにしてください。

エポックに変換する前に、日付の言語を確認してください。インストール名がここの "date" コマンドの例のように米国のアルファベットと異なる場合:

1.11.2021 (пн) 14:47:59 EET

変換は機能しません。

他のコンピュータでは、「日付」が次のように表示されます(アメリカのアルファベット)。

Mon Nov  1 14:47:45 EET 2021

コードがうまく動作します。


さまざまな言語マシンでの作業例については、以下を参照してください。 https://unix.stackexchange.com/a/675661/499362

関連情報