2016-04-21 5 views
-1

Я работаю на консоли Linux и должен работать с приглашением csh. Однако приглашение по умолчанию - bash, и я должен дать команду csh изменить режим. Причина переключения подсказки заключается в том, что есть некоторые фоновые файлы, которые запускаются только в командной строке csh.Переключение с bash на csh prompt

Пример:

-bash-4.1$ ade useview shkanodi_sqlplus_v1 

bash: /usr/local/nde/setup/nderc.csh: line 44: syntax error near unexpected toke                              n `(' 
bash: /usr/local/nde/setup/nderc.csh: line 44: `foreach file (.ndeprodrc .ndevie                              wrc)' 
bash: /etc/skel/cshrc-DEFAULT: line 20: syntax error: unexpected end of file 

Пояснение: В приведенном выше примере команда ade useview shkanodi_sqlplus_v1 должным образом не выполняется в Баш строке, и я сначала должен дать команду CSH, а затем выполнить команду. Я хотел бы обойти выдачу команды csh.

+1

Вы работаете ' csh' с помощью 'bash'. Не. Это две совершенно разные программы. – Carpetsmoker

+0

@Carpetsmoker Это был фоновый процесс, который запускал скрипты csh. Я знаю, что это разные программы, и мы не можем запускать скрипты csh с bash. Цель состоит в том, чтобы обойти выполнение команды csh перед выполнением команды, которая вызывает сценарии csh в фоновом режиме. Выполняется команда csh только в фоновом скрипте. –

ответ

0

1.Убедитесь, что у вас установлен csh.

2.Learn расположение CSH:

which csh 
or  
whereis csh 

Ниже, я буду считать, что место является/бен/Баш.

а) Если у вас есть права администратора, просто запустить как корень:

usermod -s /bin/csh YOUR_USERNAME 

(замена your_username с вашим именем пользователя).

b) Если у вас нет adm. права, вы можете просто запустить CSH --login при входе в систему, поставив ниже строку в конце вашего .profile (в вашем домашнем каталоге):

setenv SHELL /bin/bash 
exec /bin/csh --login 

Refrence: bash from csh

+0

Спасибо Ani. Я просто добавил строку exec/bin/csh в конец файла .bashrc в домашнем каталоге. Он решил проблему. –