shell文件格式|Shell脚本 有那些类型 比如说 csh py sh 这些脚本又有什么区别

shell文件格式|Shell脚本 有那些类型 比如说 csh  py sh 这些脚本又有什么区别的第1张示图

⑴ 用SHELL编程问题,如何判断文件类型

应该是bash吧:脚本的写法是这样的:file_name=xxxxxxxif [ -d $file_name ]then echo "directory"else echo "not a directory"fi 下面是全部参数,里面就有你需要的:-a file exists.-b file exists and is a block special file.-c file exists and is a character special file.-d file exists and is a directory.-e file exists (just the same as -a).-f file exists and is a regular file.-g file exists and has its setgid(2) bit set.-G file exists and has the same group ID as this process.-k file exists and has its sticky bit set.-L file exists and is a symbolic link.-n string length is not zero.-o Named option is set on.-O file exists and is owned by the user ID of this process.-p file exists and is a first in, first out (FIFO) special file ornamed pipe.-r file exists and is readable by the current process.-s file exists and has a size greater than zero.-S file exists and is a socket.-t file descriptor number fildes is open and associated with aterminal device.-u file exists and has its setuid(2) bit set.-w file exists and is writable by the current process.-x file exists and is executable by the current process.-z string length is zero.

⑵ Shell脚本 有那些类型 比如说 .csh . py .sh 这些脚本又有什么区别

通常写一个shell脚本都要在第一行注明使用什么解释器来解释这个脚本,即写成:专#!/bin/bash这样的形式,意思是告诉系统要属使用/bin/bash这个解释器来解释下面的语句。shell的脚本一般用.sh作为后缀,就如1楼说的后缀名在linux下并没有特别意义,只是便于人类区分而已,只要你写的脚本的第一行有#!/bin/bash或者是其他的解释器,如#!/bin/csh,执行该脚本时系统会使用该注明的解释器来解释。.csh大概是用来区分,这个脚本使用csh这个shell解释器来解释。.sh用来区分,这个脚本使用bash或sh解释器来解释。.py则是使用python来解释。

⑶ unix中的SHELL文件扩展名是.sh还是.c

unix中文件的属性是不依赖于扩展名的,加上扩展名只是为了操作者的方便。unix中一个文件是否能被执行,和后缀名没有太大的关系,主要看文件的属性有关。例如:-rwxr-xr-x1mythmymythmy852009-03-0911:45A.txt这个文件的文件名是A.txt但是这是个可执行文件,因为其属性是:755。所以这个文件是所有人都可读,可执行的。所以说不管扩展名是.sh还是.c只要其文件属性是可执行,就一样可以执行SHELL语句。

⑷ shell中如何判断文件dos和unix格式

那些文件本来就是unix格式的,或者你的文件名之中有空格或者是$file_name没有定义,只定义了$filename等等—-那么直接看一下file $file_name的结果是什么?要是不支持的话,还是用其他命令手工找一下有没有那两个字节吧

⑸ unix中的SHELL文件扩展名是.sh还是.c

unix中文件的属性是不依赖于扩展名的,加上扩展名只是为了操作者的方便。unix中一个文件是否能被执行,和后缀名没有太大的关系,主要看文件的属性有关。例如:-rwxr-xr-x 1 mythmy mythmy 85 2009-03-09 11:45 A.txt这个文件的文件名是A.txt 但是这是个可执行文件,因为其属性是:755。所以这个文件是所有人都可读,可执行的。所以说不管扩展名是.sh还是.c只要其文件属性是可执行,就一样可以执行SHELL语句。

⑹ 利用shell脚本把文件按照格式输出

awk'/^ucli/{if(NR>1)printf""title=$0}$0!~/^ucli/{printf"%s%s",title,$0}'filename>newfilename

⑺ shell脚本 -d 是目录文件,那么-e,-f分别是什么还有"! -e"这又是什么意思呢

-e表示如果filename存在,则为真。

-f表示如果filename为常规文件,则为真。

!-e表示取非,如果filename存在,则为假。

(7)shell文件格式扩展阅读:

shell和shell脚本的区别:

确切一点说,Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统。它为用户提供了一个向Linux发送请求以便运行程序的接口系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。

Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言(就是你所说的shell脚本)。

作为命令语言,它互动式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高阶语言中才具有的控制结构,包括循环和分支。

它虽然不是 Linux系统内核的一部分,但它调用了系统内核的大部分功能来执行程序、创建文档并以并行的方式协调各个程序的运行。

⑻ shell里如何判断文件格式是unix还是dos格式

dos格式和unix格式差别就在于换行符。只要把所有的换行符统一,就完成了转化,如unix2dos 是转为dos格式dos2unix 是转为unix格式但是判断就不是绝对的了,因为有可能文件中既有dos换行符,也有unix换行符,因此是模糊的,并没有什么意义。有使用用file 命令可以显示格式,但并不一定有效。

⑼ Shell输出日志不是DOS格式

修改一下好。1、通过vi工具修改格式,在linux下通过vi打开该文件。在命令模式下使用setff命令,可以看到该文件的格式为fileformat=dos,然后修改文件格式:setff=unix,最后保存退出就可以了。2、用fromdos命令转换,fromdos命令是ubuntu下进行dos格式文件转换成linux系统可以使用的文件格式的命令。3、windows下很大编辑器本身也可以支持linux格式的文件编辑保存,不过默认并不是linux格式的,最简单的办法就是找一个已经是linux格式的shell脚本文件,在此基础上进行修改保存,这样保存之后仍然也是linux格式的。

未经允许不得转载:山九号 » shell文件格式|Shell脚本 有那些类型 比如说 csh py sh 这些脚本又有什么区别

赞 (0)