Linux Shell

作者: 夏秋之萌 | 来源:发表于2019-10-30 14:40 被阅读0次
  • csh tcsh ksh 等等都是shell的一种。下面举得例子都是按默认shell 是 csh 来说,如果是bash 则默认就是bash,具体看terminal用的是什么shell。
查看当前shell
>> ps |  grep $$ | awk '{print $4}' 
  • tclsh perl python 都是编译器相当于Windows的软件,当然上面的几种shell其实也是软件,只是在terminal运行的软件。
  • 在shell里面,source 和 "." 是同一个作用,例如:
  >> source temp.csh
  >> .      temp.csh
  • 这里不管文件是否有可执行的权限都会执行,如果temp.csh里面有第一行并且是#!/usr/bin/tcl , 则这个脚本会以tclsh编译器来执行。
  • 如果没有定义第一行则还是默认的csh来执行。
  • 如果文件本身是有可执行的权限的,那么可以省去source 或者 ".", 同样如果文件开头有定义的编译器,则按定义的来执行,如果没有则是默认的csh
>> chmod 755 temp.csh
>> temp.csh 
或者
>> ./temp.csh
  • 如果用这个命令来执行, 那么不管里面第一行有没有定义,或者定义成别的编译器都只会用tclsh去执行。注意和上面的区别,因为这里已经规定了编译器。
>> tclsh temp.csh
或者
>> tclsh ./temp.csh
  • 再比如下面, 只会以perl去执行,如果里面的语法不对就会报错。
>> perl temp.csh
  1. 文件可执行时,执行的编译器看脚本里面第一行定义的类型,如果没有定义默认是csh
>> ./temp.csh
或者
>> temp.csh
  1. 文件没有可执行的权限时,执行的编译器看脚本里面第一行定义的类型,如果没有定义默认是csh
>> source ./temp.csh
或者
>> . ./temp.csh
  1. 以特定的编译器去执行时, 不管脚本里面第一行有没有定义,都只会以特定的编译器语法去识别脚本里的内容,有问题会报错。
>> perl ./temp.csh
>> tclsh ./temp.csh
>> python ./temp.csh

注意tcshtclsh的区别
tcshshell 的一种
tclshtcl shell

相关文章

  • Shell入门笔记

    Shell脚本:Linux Shell脚本学习指南菜鸟教程 - Shell教程Linux入门 - Shell脚本是...

  • shell基础

    Linux学习 一、shell介绍 Linux shell基础 什么是shell shell是一个命令解释器,提供...

  • Linux下的shell

    Shell 和 Linux shell程序是包含若干行shell或linux命令的文件。linux命令语句只能一行...

  • linux shell脚本攻略笔记

    LINUX SHELL脚本攻略笔记[速查] linux shell脚本攻略笔记

  • Shell学习

    Linux Shell基础教程 (一) (二) Linux Shell简明教程(推荐) (一) (二) Linux...

  • Shell 脚本编程简介

    Shell菜鸟教程[https://www.runoob.com/linux/linux-shell.html] ...

  • shell 教程学习推荐地址

    [shell 教程学习推荐地址:] http://www.runoob.com/linux/linux-shell...

  • bash shell学习

    Shell 传递参数 参考链接:https://www.runoob.com/linux/linux-shell-...

  • shell脚本基础应用

    Shell 教程[https://www.runoob.com/linux/linux-shell.html]li...

  • Shell-基础教程-变量

    参考教程链接 http://www.runoob.com/linux/linux-shell.html Shell...

网友评论

    本文标题:Linux Shell

    本文链接:https://www.haomeiwen.com/subject/nfmovctx.html