.shファイルを開くたびに、ターミナルではなくgeditで開きます。 右クリック→開く→その他のアプリケーション...→ターミナルに類似したオプションが見つかりません。
ターミナルでこのファイルを開くにはどうすればよいですか?
スクリプトに実行許可を与えます。
chmod +x /path/to/yourscript.sh
スクリプトを実行するには:
/path/to/yourscript.sh
.
は現在のディレクトリを参照するため、yourscript.sh
が現在のディレクトリにある場合、これを次のように簡略化できます。
./yourscript.sh
ファイルマネージャーから実行するには、シェルスクリプトを実行可能としてマークする必要があります。
.sh
ファイルを右クリックして、プロパティを選択します。
Permissionsタブで、プログラムとしての実行ファイルの許可をチェックします。
Propertiesウィンドウを閉じて、ファイルをダブルクリックします。ダイアログがポップアップ表示され、ターミナルでスクリプトを実行するオプションが表示されます。
ターミナルを開き、.sh
ファイルがあるフォルダーに移動します。次に入力します:
sh <name of file>.sh
.shファイルを実行する前に、実行可能にする必要があります。
ファイルを取得したソースを信頼していることを確認してください。 ウイルスの可能性があります。
これには問題があります。ターミナルはすぐに閉じられ、出力を見ることができなくなります。
.shファイルの場所を見つける
ls
およびcd
コマンドを使用しますls
は、現在のフォルダー内のファイルとフォルダーをリストします。試してみてください:「ls」と入力してEnterキーを押します。cd
を実行し、スペース、フォルダー名の順に入力しますcd ..
を実行して1レベル上に移動しますp.shファイルを実行する
たとえば、script1.sh
でls
を確認できたら、次を実行します。
./script.sh
ターミナルには、コマンドを入力することでアクセスできる強力なツールの豊富なセットがあります。専門家は、ls
およびcd
と入力して.shファイルを見つけます。正しいcurrent folderになったら、次のようにスクリプトを実行できます。
./script1.sh
または、実行してファイルに出力をリダイレクトできます。
./script1.sh > out.txt
または、キーワード(「リンゴ」など)の出力をフィルタリングして、ファイルにリダイレクトできます。
./script1.sh | grep apples > ./only-apples
いくつかのコマンドを入力するだけで、そのファイルにできることは何千もあります。
もう1つは、1つの簡単なコマンドでインターネットからファイルをダウンロードできます。
wget www.google.com/images/logos/ps_logo2.png
そして、次のようにファイルを開きます。
shotwell ps_logo2.png
Ubuntu 13.04では、Nautilusで開かれた実行可能ファイルは、ユーザーに実行を促すのではなく、デフォルトでgeditで開かれるようになりました。従来の動作を有効にするには、設定を調整する必要があります。
Nautilus→[編集]メニュー→[設定]→[動作]タブ→[毎回確認]の近くのラジオボタンをクリックします。
cd
を使用して、.sh
ファイルがあるディレクトリに移動します。この例では、sh
ファイルを~/Desktop/Shell_practice/test.sh
として保存しました
最初にpwd
を実行して現在地を特定し、それが/home/username
(ここでusername
は実際のユーザー名です)を返す場合、実行できます
cd Desktop/Shell/practice
別の場所にいるようであれば、絶対パスを使用できます
cd ~/Desktop/Shell/practice
または
cd $HOME/Desktop/Shell/practice
あるいは
cd /home/$USER/Desktop/Shell/practice
これらはすべて同じ場所を記述する方法です。スクリプトの場所に到達したら、次のように入力します
ls
出力にsh
ファイルがある場合は、chmod
を使用して実行可能にすることができます。私の場合、ファイル名はtest.sh
なので、実行します。
chmod u+x test.sh
スクリプトと同じディレクトリにいるので、その場所に./
(現在のディレクトリの後にパス区切り文字を付けて、ファイルと区別するためにファイルを実行することをシェルに指定する必要がありますファイル名)。ファイルを実行するには、次のように入力します。
./test.sh
スクリプトが正しく記述されていれば、エラーなしで実行されます...
2つの主要なステップ。
ターミナルで、geditを使用して、「。sh」拡張子のスクリプトをデスクトップに書き込んで保存します。 (ただし、任意のテキストエディターを使用できます)
nautilusを開き、script.shファイルを右クリックします。
プロパティの下で、「実行ファイルを許可する」チェックボックスをオンにします。
nautilusメニューで、[ファイル]をクリックし、次に[設定]をクリックし、次に動作
「実行時に実行可能なテキストファイルを開く」を確認してください。
これで、デスクトップ上のファイルをダブルクリックすると、実行されるはずです。 .
や./
は不要
これを行うにはいくつかの方法があります。
ターミナルで、cd
(ディレクトリの変更)を使用して、Bashファイルがあるディレクトリにアクセスします。
例cd Downloads
bash <filename>.sh
を実行します
これは.runファイルでも機能します。この使用法の例があります Rhythmboxの更新に関するこのWebページで
ターミナルで、bashファイルがあるディレクトリに移動します。
chmod +x <filename>.sh
を実行します
Nautilusでファイルを開きます。
.sh
ファイルを右クリックして、実行可能にします。
ターミナルを開きます(Ctrl+Alt+T)。
.sh
ファイルをターミナルウィンドウにドラッグし、a敬の念を抱いてください。
Ubuntu 16.04では、ターミナルで開く方法は次のとおりです。
File Manager > Edit > Preferences > Behavior
のExecutable Text Files
に移動し、Ask each time
を選択します。
問題は、デフォルトでView Executable Files when they are opened
に設定されていることです。
作成したシェルスクリプトまたはその他の実行可能ファイルを/ usr/local/binに配置すると、コマンドラインでフォルダーパスを指定したり、名前に./を追加したりすることなく、検出および実行されます。たとえば、次の簡単な3行のbashスクリプトを作成して、ディスクUUIDを表示します。
#!/bin/bash
echo "* UUIDs must match in /etc/fstab and /boot/grub/menu.lst"
Sudo blkid
ファイルuuidを呼び出し、/ usr/local/binに配置しました。コマンドラインで入力する必要があるのは次のとおりです。
uuid
まあ、私も同じ問題に直面しました。 .shファイルを実行したかったので、CentOS 7でGeditを使用して開きました。
.sh
ファイルのパスに移動しました。いくつかのディストリビューションで見つかった問題は、Nautilusの設定オプションが非表示になっていることですが、Gnome3を使用してUbuntuやその他のディストリビューションで修正することは同じです将来的にどのように)。
インストールdconf-editor
Sudo apt-get install dconf-editor
これが必要なユーザーアカウントを使用してdconf-editor
を実行します。つまり、rootではありません
dconf-editor
次のスキーマに移動します。
org.gnome.nautilus.preferences
デフォルトで開かないようにデフォルトオプションを変更します。
executable-text-activation
を探し、Word display
をクリックして、ask
に変更します。
これにより、今後ファイルを編集、表示、または実行するオプションが提供されます
私はLinuxの初心者であり、同じ問題を抱えていました。他のすべてが失敗した場合: