スクリプトを介してシェルを変更する方法は?

スクリプトを介してシェルを変更する方法は?

次を何度も繰り返す必要があり、自動化したいと思います。

sudo su
tcsh
cd $workDir

これ$workDirはに設定されています~/.tcshrc。 2つのシェルスクリプトを書いてみました。スクリプト1temp.sh

#!/bin/bash
sudo su
./temp.csh

スクリプト2temp.csh

#!/usr/bin/tcsh
tcsh
cd $workDir

しかし、期待どおりに動作しません。つまり、cshellプロンプトは表示されず(スクリプトのない方法とは異なり、まだbashプロンプトにあります)、$ workDirにCDを挿入しません。ヘルプ/アドバイスがありますか?

ベストアンサー1

workDir="/dev/"; sudo su -c tcsh -c "cd $workDir; echo \$PWD"スクリプト中にフォルダを変更するために使用されます。

すべてから逃げることを忘れないでください$

編集する

これはどうですか:

sudo ./tcsh.csh

tcsh.csh には以下が含まれます。

#!/usr/bin/tcsh
cd $workDir  # need to set $workDir somewhere, depends on you
blabla

おすすめ記事