10代と話して驚いたこと

windows7のcmdでシェルスクリプトを実行しようと./ test.shと入力したのですが、操作可能なプログラムまたはパッチファイルとして認識されていませんと返されました。
シェル、というかプログラムは完全初心者で、shファイルの中身も、Hello Worldと表示するだけの、初歩の初歩です。
shを右クリックして、プロパティの設定からアクセスを許可するとネットには書かれていて、そのフォト画像も見ました。しかしプロパティを確認しても、同じような設定画面は見つけられませんでした。
シェルスクリプトを組むのに、何か特殊なソフトやアプリをダウンロードしなければならないのでしょうか?

A 回答 (7件)

そりゃWindowsにシェル(sh/bash/csh/tcshなど)が無いから

    • good
    • 0

Windows 10 Build 14316以降にアップグレードすると2か所ほど設定を変えるだけでWindows上にUbuntu環境がネイティブで構築する事ができます。


普通にファイルを開くようにダブルクリックするだけでシェルスクリプトを実行できます。

http://www.forest.impress.co.jp/docs/news/201604 …
    • good
    • 1

No.4です。


以下間違いました、失礼。

× 2-2 busybox.exe -sh -l[Enter] 
○ 2-2 busybox.exe sh -l[Enter]
    • good
    • 0

busyboxの簡単な使用方法が↓で解説されています。



http://qiita.com/tetsuy/items/22cba0bc2048967b270a


1. ダウンロード
http://frippery.org/busybox/
の下の方の「The latest version is always busybox.exe.」のリンクから取得

2.起動
ダウンロードしたフォルダを、C:\Users\○○\Downloads(デフォルトのダウンロードフォルダ) とすると

スタートメニューからコマンドプロンプトを起動して以下を入力
2-1 cd C:\Users\○○\Downloads[Enter]   cdコマンドで、ダウンロードフォルダへ移動
2-2 busybox.exe -sh -l[Enter]        busyboxを起動(最後の文字は"エル"です)
  → プロンプト表示が変わります。

2-3 busybox上で、cdコマンドで、test.shのあるフォルダへ移動
2-4 ./test.sh[Enter]             シェルスクリプトの実行(スペースは入れないで下さい)
    • good
    • 1

いろいろと誤解があるようなので。



./ test.sh ではなく、 ./test.sh でしょう。
これはcmd では .\test.bat に相当するコマンドです。

cmd で .\test.bat と入力すると、 cmd が カレントディレクトリにある ファイル test.bat の中身を解釈してバッチファイルが実行されます。
同様に、 Unixのシェルで ./test.sh と入力すると、 シェルが カレントディレクトリにあるファイル test.sh の中身を解釈して、シェルスクリプトが実行されます。

逆に、Unixのシェルで .\test.bat としても \ はディレクトリの区切りではないし、/に直したところでcmdとはまったく違うので test.batをうまく解釈できません。
同様に、 cmd で ./test.sh としても / はディレクトリの区切りではないし、\に直しても test.sh を解釈するシェルが無いので、正しく解釈できません。


Windowsで動かすには、次のような方法があります。
・Cygwin,MinGW,busybox等の、Unix系のシェルを使える環境で実行する。
・VirtualBox等の仮想マシンを使ってLinux環境を作る
・シェルスクリプトの内容を、Windowsで実行できるプログラムに移植する(VBS,バッチファイル, Perl,Python 等)
    • good
    • 0

Winならバッチ(bat)ファイルか、wshでやってみては?

    • good
    • 0

そのままのコマンドプロンプトではUnixコマンドは使えませんので、busyboxなどを利用してください

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報