シェルスクリプトからファイルを生成する

シェルスクリプトからファイルを生成する

空の.txtファイルを生成する必要があるパスと変数を含むシェルスクリプトを生成したいと思います。

私は試みる:

**

path=directory part
touch Test{1..100}.txt

**

ただし、この100個のファイルはスクリプトと同じディレクトリに作成されます。この問題を解決するのに役立ちますか?

答え1

小さなコメント:path変数名との競合を考慮すると、おそらく良い選択肢ではないでしょうPATH編集する:@Paul_Pedantがコメントで指摘したように、inzsh変数はpath予約されており、$ PATHにディレクトリを保持する文字列の配列です。たとえば、他の一部のシェルにはbashそのような予約はありません。


次のようなことができます

FILES_HERE=/path/to/dir
touch $FILES_HERE/Test{1..100}.txt

可変数のファイルを作成するには、そのファイルをループtouch内で使用できます。whilehttps://stackoverflow.com/a/31365662/3856731


引数を取り、そこにファイルを保存するスクリプトを持つと便利です。スクリプトが引数なしで呼び出されると、デフォルトは$ PWDです。

#!/bin/bash

touch ${1:-.}/Test{1..100}.txt

(答えの下の構文の説明。)別の名前で保存してtest.sh呼び出したと仮定すると、chmod +x test.sh次のことができます。

$ ./test.sh

100個の空のファイルを現在のディレクトリに配置します。または電話してください

$ ./test.sh ~/Documents

それらを書いてください~/Documents

編集する:
構文の説明:「設定されていないか空の文字列と同じ場合は、${1:-.}このスクリプトの最初のコマンドライン引数($1)またはデフォルト.(別名$pwd)に置き換えてください」を意味します。実行可能スクリプトを呼び出すと、指定したパラメータが自動的に列挙されます。$1''

./script.sh $1 $2 $3 $4...

関連情報