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