ユーザー入力を使用したフォルダの命名

ユーザー入力を使用したフォルダの命名

私はLinuxを初めて使用し、ユーザーが入力したフォルダ名に基づいて新しいディレクトリを作成したいと思います。ユーザーに名前を再度要求して最初のディレクトリ内に新しいディレクトリを作成するにはどうすればよいですか。

パスワード:

#! /bin/bash
echo "Enter name of dir":
read folder1
mkdir -p $folder1
touch docu.dat
chmod 755 docu.dat

コマンドで生成されたディレクトリのリストを表示しようとしましたが、リストが表示lsされず、その理由を知りたいです。また、bash引数を使用してスクリプトファイルを実行する方法を知りたいです。修正を手伝ってください。

ベストアンサー1

ユーザーに2番目の名前を尋ねたい場合は、ユーザーに2番目の名前を尋ねてください。

#! /bin/bash
echo "Enter name of dir":
read folder1
echo "Enter name of sub-dir":
read folder2
mkdir -p -- "$folder1/$folder2"
touch docu.dat
chmod 755 docu.dat

作成したばかりのディレクトリにディレクトリを作成したいようですがdocu.dat、この場合は次のようになります。

#! /bin/bash
echo "Enter name of dir":
read folder1
echo "Enter name of sub-dir":
read folder2
mkdir -p -- "$folder1/$folder2"
touch -- "$folder1/$folder2"/docu.dat
chmod 755 -- "$folder1/$folder2"/docu.dat

ただし、通常、ユーザーに入力するように求められないようにします。これにより、スクリプトの自動化、再実行が困難になり、ユーザーが誤った値を入力しやすくなります。代わりに、ディレクトリ名を引数として使用してください。

#! /bin/bash
dirName="$1/$2";
mkdir -p -- "$dirName"
touch -- "$dirName"/docu.dat
chmod 755 -- "$dirName"/docu.dat

次に、次のようにスクリプトを実行します。

./script.sh "dir1" "dir2"

--スクリプトも処理できるように存在します。-参考"--"(二重ダッシュ) とはどういう意味ですか?

おすすめ記事