GNU/Linux >> Belajar Linux >  >> Linux

bash sh - perintah tidak ditemukan

Saya memecahkan penambahan izin eksekusi:

sudo chmod +x file.sh


Hapus ; dari akhir baris skrip Anda.

Ini tidak terjadi di bash saya, jadi saya tidak yakin apa yang sebenarnya salah, tapi tebakan saya adalah ini:

; adalah pemisah perintah. Karena perintah terakhir Anda diakhiri dengan ; , bash Anda mungkin mengharapkan perintah lain setelahnya. Namun, karena skrip selesai, ia membaca perintah kosong, yang tidak dapat dijalankan.


Dugaan saya adalah Anda memiliki karakter kontrol yang tidak dapat dicetak dalam file, atau memiliki \r\n (CRLF) akhir baris (mode dos/windows).

Coba periksa dengan perintah berikut:

$ hexdump -C build.sh 
00000000  23 21 2f 62 69 6e 2f 62  61 73 68 0a 63 64 20 7e  |#!/bin/bash.cd ~|
00000010  2f 77 6f 72 6b 73 70 61  63 65 2f 74 72 75 6e 6b  |/workspace/trunk|
00000020  3b 0a 73 76 6e 20 75 70  3b 0a                    |;.svn up;.|
0000002a

$ file build.sh 
build.sh: Bourne-Again shell script, ASCII text executable

$ unix2dos build.sh 
unix2dos: converting file build.sh to DOS format ...

$ hexdump -C build.sh 
00000000  23 21 2f 62 69 6e 2f 62  61 73 68 0d 0a 63 64 20  |#!/bin/bash..cd |
00000010  7e 2f 77 6f 72 6b 73 70  61 63 65 2f 74 72 75 6e  |~/workspace/trun|
00000020  6b 3b 0d 0a 73 76 6e 20  75 70 3b 0d 0a           |k;..svn up;..|
0000002d

$ file build.sh 
build.sh: Bourne-Again shell script, ASCII text executable, with CRLF line terminators

Saya telah menyelesaikan kesalahan saya dari perintah ini.

sudo chmod +x build.sh

Linux
  1. Perintah Tidak Ditemukan di Bash Tetap

  2. Make:Dh:Perintah Tidak Ditemukan?

  3. ifrename:perintah tidak ditemukan

  1. rm:perintah tidak ditemukan

  2. mv:perintah tidak ditemukan

  3. ln:perintah tidak ditemukan

  1. bash:netstat:perintah tidak ditemukan.

  2. nc:perintah tidak ditemukan

  3. manajer langganan:perintah tidak ditemukan