Linux Shellでは、ディレクトリを作成できますが、名前は別のプログラムから返される文字列になりますか?そして、私ができるなら、どのように?
特に、ホームに新しいディレクトリを作成するように求められ、その名前はコンピューターの時計の分になります。 /home/john/01/
、01
が私の時計の分であるとします。
パイプラインdate +"%M" | mkdir
のようなものを考えていましたが、その返された数値をmkdir
プログラムにどのように入れるかわかりません。
最後に、このmkdir (date +"%M")
のような別のアイデアが思い浮かびましたが、これも間違いです。助けてください?
探している概念は コマンド置換 です。これは、構文$(command)
を使用します
mkdir /home/john/$(date +%M)
古い「backtick」構文、`command`
も表示される場合があります
mkdir $(date +%Y%m%d)
または私は個人的にhh:mm:ssにmkdir $(date +%Y%m%d_%H%M%S)
を使用しています。 date --help
は、さらに必要な場合にさまざまな形式を提供します。
次のコマンドを使用して簡単に実行できます。
$ min=$(date +"+%M"); mkdir $min
それには、次のコマンドを入力します。
mkdir ~/$(date | awk -F':' '{print $2}')
このコマンドは、home
フォルダーにディレクトリを作成し、現在の分を名前として与えます。