システムのデフォルトのシェルはですcsh
が、でスクリプトを書きたいと思いますbash
。bashを実行し、最後にcshに変換するスクリプトを作成するにはどうすればよいですか。
私はこれを試しましたが、機能しません:
bash
var=Hello
echo $var
csh
シェルを元に戻す必要はありません。スクリプトが実行されると、サブシェル(スクリプトの最後で終了します)によって実行され、親シェルは変更されません。したがって、すでに示唆したように、あなたがしなければならない唯一のことは、スクリプトが正しいシェルによって実行されることを確認することであり、「シバン」はそれを行う方法です:
#!/bin/bash
var=Hello
echo $var
必要なのはそれだけです。
探しているコマンドはですexit
。キーボードで入力するときは、cshに戻るexit
代わりにを使用します。に入ると、すでに実行されているcshおよびbashセッションの上に新しいcshセッションが開始されました。csh
csh
%bash
$ var=Hello
$ echo $var
Hello
$ exit
exit
%
他の人が言っているように、スクリプトを使用する場合:
#! /bin/bash
var=Hello
echo $var
exit # You don't need exit; but it's okay here.
シバンを使用して定義します
#!/bin/bash
ファイルの先頭に。