所以我有幾個tcsh腳本與一個昂貴的軟件相關聯,我必須在bash shell系統上運行它們。這甚至有可能嗎?該軟件需要經常使用這些腳本,並且基於tcsh。是否有可能同時運行2個shell?或者只是在腳本的開頭調用tcsh shell?或者是否有任何編譯器來翻譯shell腳本?我有什麼選擇?謝謝。如何從bash shell系統運行tsch腳本?
0
A
回答
1
只需在腳本的頂部放置一個合適的shebang即可。
假設您的tcsh
安裝爲/bin/tcsh
,每個tcsh的腳本應該有這個作爲它的第一行:
#!/bin/tcsh -f
(該-f
告訴shell不加載啓動腳本,如.login
或.tcshrc
任何腳本不應該依賴於你的用戶環境,所以你不需要調用你的啓動腳本 - 這會使你的腳本加載速度更快。請注意-f
對於Bourne派生的shell有不同的含義;僅對0123和使用csh和tcsh腳本)。
如果您不能承擔可移植性其中tcsh
安裝,另一種是:
#!/usr/bin/env tcsh
但是,這並不讓你使用-f
選項,它可能有其他的缺點;詳情請參閱this answer。
請注意,真的不存在「bash shell系統」這樣的事情。 bash和tcsh都只是你可以運行的程序。其中一個或另一個可能恰好是新創建的用戶帳戶的默認交互式外殼程序,但這並不影響能夠運行其中任何一個。
相關問題
- 1. 如何從magento運行bash shell腳本?
- 2. 從系統Shell執行Ipython腳本
- 3. 如何從bash shell執行.py腳本
- 4. 運行shell腳本
- 5. 如何從cron運行的Perl腳本中運行shell腳本?
- 6. 在java中運行bash shell腳本
- 7. 在adb shell上運行linux bash腳本
- 8. 如何從AppleScript運行shell腳本?
- 9. 如何從shell腳本運行knitr
- 10. 如何從shell運行python腳本
- 11. shell腳本備份系統
- 12. 如何從Java運行bash腳本
- 13. shell腳本:在並行化bash腳本的命令下,Ubuntu Linux操作系統
- 14. 從Package.swift運行shell腳本
- 15. 從shell腳本運行jar
- 16. 從eclipse運行shell腳本
- 17. 從Java運行shell腳本
- 18. 從ruby運行shell腳本
- 19. 從Java運行shell腳本
- 20. 從PHP運行shell腳本
- 21. 如何作爲特定用戶運行一行bash shell腳本
- 22. 從bash腳本運行javascript
- 23. 從java運行bash腳本
- 24. 從JVM運行bash腳本
- 25. 從bash運行Oracle腳本
- 26. 從php運行bash腳本
- 27. bash腳本從rc.local運行
- 28. packagemaker運行shell腳本
- 29. 從PHP腳本運行bash腳本
- 30. 從R腳本運行bash腳本
考慮一下:在你曾經使用過的任何系統上,'tcsh'是你的登錄shell,那個shell是由'/ bin/sh'啓動的,幾乎可以肯定是* not *'tcsh'本身。 – chepner
@chepner:我不認爲這是準確的。您的登錄shell是由登錄過程或類似的東西調用的,而不是(據我所知)'/ bin/sh'。的確,'system()'函數使用'/ bin/sh',但無論調用'system()'什麼都不會調用你的登錄shell。 –
正確;我跑了很遠,我想做的點,這是「殼是一個程序,你可以像任何其他運行。」 – chepner