お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2018-10-28 08:44:59

dayan81gp
新しいメンバ
登録日: 2018-10-27

シェルスクリプトが実効できない

Ubuntu初心者で一つづつ進めている段階です。
hello.shとして

#!/bin/bash
echo'Hello'

というシンプルなスクリプトに実行権限を与え、実効すると ./hello.shでもフルパスでも「そのようなファイルやディレクトリはありません」とエラーがでます。
ホームディレクトリから $ ls をするとhello.shがありますのでファイルは存在し、パスも大丈夫かと思います。

なお、ネットで調べたところ改行が原因でもなさそうです。(cat -A で調べてみました^Mではありませんでした。^A、^BM・・・はありましたが。)
また、ビットもPCともに64ビットで原因ではなさそうです。

ネットや本では./○○.shで実行できることが当然のような書きぶりでしたので、なにか根本的な間違いがあるのか、実行するのに足りないファイルやソフトがあるのか、わからなくなっています。
皆様、ご教授ください。

オフライン

 

#2 2018-10-28 09:48:32

ry
メンバ
登録日: 2008-07-30

Re: シェルスクリプトが実効できない

echo'Hello' の間にスペースが入っていないとか。

オフライン

 

#3 2018-10-28 14:12:23

dayan81gp
新しいメンバ
登録日: 2018-10-27

Re: シェルスクリプトが実効できない

ありがとうございます。
echo と 'Hello'の間に入れてみましたが、やはり「そのようなファイルやディレクトリありません」と表示されました。

オフライン

 

#4 2018-10-28 16:15:10

aaabbbcccdddeeefffggghhh
メンバ
登録日: 2008-02-25

Re: シェルスクリプトが実効できない

以下の手順を試してみてください。

1. 端末を起動します

2. 端末で次のコマンドを実行してホームフォルダーにファイルを作成します

touch ~/hello.sh

3. 端末で次のコマンドを実行してファイルに実行権限を付けます

chmod +x ~/hello.sh

4. 端末で次のコマンドを実行してテキストエディターを起動し、2 で作成したファイルを開きます

gedit ~/hello.sh

5. テキストエディターに以下の二行の文字列をコピー&ペーストして保存し、テキストエディターのウィンドウを閉じます

#!/bin/bash
echo 'Hello'

6. 端末で次のコマンドを実行します

~/hello.sh

dayan81gp による投稿:

hello.shとして

#!/bin/bash
echo'Hello'

というシンプルなスクリプトに実行権限を与え、実効すると ./hello.shでもフルパスでも「そのようなファイルやディレクトリはありません」とエラーがでます。

余談ですが、↑この内容の hello.sh を正常に実行できた場合、

./hello.sh: 行 2: echoHello: コマンドが見つかりません

と表示されます。

オフライン

 

#5 2018-10-28 20:53:29

dayan81gp
新しいメンバ
登録日: 2018-10-27

Re: シェルスクリプトが実効できない

aaabbbcccdddeeefffggghhh 様

支持されたとおりに実行してみたところ、正常に実効できているようでした。ありがとうございます。
重ねて申し訳ありませんが、なぜこの処置で解決し、なにが原因だったのかを教えていただけませんか?

オフライン

 

#6 2018-10-28 23:45:05

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: シェルスクリプトが実効できない

> 実行するのに足りないファイルやソフトがあるのか
Ubuntuが正常にインストールされていれば、件のスクリプトを実行する環境は整っています。

> なにが原因だったのかを教えていただけませんか?
正常に実行できなかった操作を確認しながらトレースされてみては如何ですか?

参考:
現在のディレクトリを表示
$ pwd
/home/si

スクリプト作成
$ vi hello.sh

スクリプト表示
$ cat hello.sh
#!/bin/bash
echo 'Hello'

スクリプトに実行権付与
$ chmod +x hello.sh

確認
$ ls -l hello.sh
-rwxr-xr-x 1 si si 25 10月 28 23:24 hello.sh

スクリプト実行
$ ./hello.sh
Hello

オフライン

 

#7 2018-10-29 22:55:42

dayan81gp
新しいメンバ
登録日: 2018-10-27

Re: シェルスクリプトが実効できない

ありがとうございます。一つづつ確認してみます。

オフライン

 

Board footer

Powered by FluxBB