Shell 是一种脚本语言
(一)Shell 是一种脚本语言 - 吹泡泡的小鱼的日志 - EETOP 创芯网论坛 (原名:电子顶级开发网) -
任何代码最终都要被“翻译”成二进制形式才能在计算机中执行。Shell 是一种脚本语言,我们编写完源码后不用编译,直接运行即可。
编译型语言:
有的编程语言,如 C/C++、Pascal、Go语言、汇编等,必须在程序运行之前将所有代码都翻译成二进制形式,也就是生成可执行文件,用户拿到的是最终生成的可执行文件,看不到源码。这个过程叫做编译(Compile),这样的编程语言叫做编译型语言,完成编译过程的软件叫做编译器(Compiler)。
解释型语言或者脚本语言(Script):
而有的编程语言,如 Shell、JavaScript、Python、PHP等,需要一边执行一边翻译,不会生成任何可执行文件,用户必须拿到源码才能运行程序。程序运行后会即时翻译,翻译完一部分执行一部分,不用等到所有代码都翻译完。这个过程叫做解释,这样的编程语言叫做解释型语言或者脚本语言(Script),完成解释过程的软件叫做解释器。
区别:
(1)编译型语言的优点是执行速度快、对硬件要求低、保密性好,适合开发操作系统、大型应用程序、数据库等。
(2)脚本语言的优点是使用灵活、部署容易、跨平台性好,非常适合 Web 开发以及小工具的制作。
关于shell程序和shell脚本:
Shell程序本身的开发是用C语言编写的,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。
Shell脚本(shell script)是为shell程序编写的脚本程序,有自己的shell脚本语言。
我们通常所说的shell指的是shell脚本的编写,而不是指shell自身程序的开发。
Shell既是一种命令语言,又是一种程序设计语言:
(1)作为命令语言,它交互式地解释和执行用户输入的命令。
(2)作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
Shell虽然不是Unix/Linux系统内核的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Unix/Linux系统的关键。
.cshrc
闲着整理一下我的.cshrc 娃哈哈_set implicitcd_zeeeitch的博客-CSDN博客
.cshrc_eda cshrc_freeici的博客-CSDN博客
.cshrc .vimrc_xs1326962515的博客-CSDN博客
cshell用户配置存放在~/.cshrc文件,每开一个terminal就会被执行一次。跟IC相关的是:
1.EDA环境变量
各种IC tools安装需要设置相应的环境变量
setenv LD_LIBRARY_PATH xxx/xxx
setenv CLIOSOFT_DIR xxx/xxx
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${CLIOSOFT_DIR}/lib/64bit
2.path
path是最重要的shell变量,用于设置指令的搜索路径,其有对应的环境变量PATH。通常path和PATH的区别是path内容通过空格隔开,而PATH是“:”隔开
set path = (. $path $CLIOSOFT_DIR/bin)
Shell 有所谓的环境变量,当我们在 shell 中执行指令时,这些环境变量可能会被该程序用来判断程序所要执行时的参数。例如,我们在执行 cal 这个指令时,我们不必打它的绝对路径 /usr/bin/cal,因为shell 会自动依照 PATH 这个环境变量所设定的路径去找我们所输入的指令。您可以使用echo $PATH指令来看目前PATH 这个变量的内容:
# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin
3.prompt
prompt是内建shell变量,用于设置terminal提示符
set prompt='%{\033]0;%n@%m %c\007%}%~\n[%n@%m %c]%#'
set xterm title and icon of "username@hostname directory
". Note that the "%{...%}
" must be placed around escape sequences (and cannot be the last item in the prompt: see the tcsh
man page for details).
How to change the title of an xterm
XTERM – Terminal emulator for the X Window System
http://ascii-table.com/ansi-escape-sequences.php
terminal - List of ANSI color escape sequences - Stack Overflow
4.alias
alias用于自定义shell指令, alias格式:alias name text
alias参数传递可以使用以下方式
\!:1 表示第1个参数
\!:2* 表示第2个及余下的所有参数
\!* 表示所有参数
alias .. 'cd ..'
alias ... 'cd ../..'
alias h 'history'
alias la 'ls -al \!*'
alias grep 'grep --color=auto'
其它:
cshell script的例子:cshell script的例子_SHKC的博客-CSDN博客
5.xterm颜色设置
xmanager登录首选/usr/bin/gnome-terminal --display $DISPLAY,颜色可在edit菜单栏配置
次选xterm命令/usr/bin/xterm -ls -display $DISPLAY时,配置home路径下.Xdefaults文件:
xterm*faceName: Monospace: antialias=True: pixelsize=18
xterm*faceSize: 12
xterm*background: #002B36
xterm*foreground: #839496
xterm*vt100*geometry: 120x40