Saya seorang pemula dan saya butuh bantuan.
Saya mencoba membuat skrip untuk memindahkan beberapa file dari satu direktori di direktori lain. Sebelum membuat skrip, saya menguji perintah dan ternyata berfungsi:
mv /path/to/source /path/to/destination
Setelah saya membuat skrip dengan nano
:
#!bin/bash/
echo "mv /path/to/source /path/to/destination"
Saya telah membuat skrip dapat dieksekusi dengan: chmod +x file
dan kemudian dieksekusi sebagai ./file
tetapi kesalahan berikut muncul:
bash: ./move.sh: /bin/bash/: bad interpreter: Not a directory
Saya mencoba dan dengan sudo ./file
dan file bash tetapi tidak berfungsi.
Saya menggunakan Ubuntu yang diinstal dengan VirtualBox.
Jawaban:
Itu karena Anda menggunakan
#!bin/bash/
dan ini salah. Cara yang benar adalah:Ini disebut shebang dan memberi tahu shell program apa yang menafsirkan skrip, ketika dijalankan.
Hal lain: jalur absolut untuk bash interpreter di Ubuntu adalah
/bin/bash
, bukanbin/bash/
atau yang lainnya. Anda dapat memeriksa ini menggunakanwhich bash
perintah.Dan satu hal lagi, tetapi mungkin Anda tahu ini: baris berikut:
hanya akan menampilkan pesan teks dengan
mv /path/to/source /path/to/destination
. Untuk benar-benar memindahkan file, gunakan skrip berikut:Seperti itulah tampilan skrip Anda.
sumber
which
perintah . Perlu menginstal manual untuk mendapatkan gnu yang .