-1
深度と幅に基づいて一連のディレクトリを作成するプログラムを作成しました。すべてのディレクトリを作成するディレクトリは1つのパラメータです。問題は、このスクリプトが存在するディレクトリ内のディレクトリのみを作成することです。とにかくスクリプトがディレクトリを作成する場所を選択できますか?これにbashスクリプトのディレクトリパスを変更するには
mydir="/directory/to/make/dirs"
変更mkdir -p $i/$j
:
#!/bin/sh
depth=2
breadth=5
open=($1)
for((i=0; i<depth; i++)); do
temp_open=()
for x in "${open[@]}"; do
temp=()
for((j=0; j<breadth; j++)); do
mkdir -p $i/$j
temp=(${temp[@]} "$i/$j")
done
temp_open=(${temp[@]})
done
open=(${temp_open[@]})
done
簡単な修正は、単に 'CD "$ 1" を置くことであろう|| exit 'を最初の行として入力して、スクリプトの残りの部分がそのディレクトリで実行されるようにします。 –
ここにはたくさんあるが、btw。 http://shellcheck.net/ –
でこのコードを実行することを検討してください。POSIX shは配列をサポートしていないので、ここの '#!/ bin/sh'シバンは間違っています。おそらく、 '#!/ bin/bash'、(あなたの引用が不足しているため)'#!/ bin/zsh'でなければなりません。 –