首页 > 系统相关 >shell脚本,shell语法和结构(以Cshell/TC shell, bash为例)

shell脚本,shell语法和结构(以Cshell/TC shell, bash为例)

时间:2022-12-06 20:23:52浏览次数:34  
标签:... shell name 为例 list argv echo Cshell

1.C shell/TC shell常用语法和结构

(1) shbang行: #!/bin/sh,通知内核使用哪种内核解释脚本;

#!/bin/csh 或 #!/bin/tcsh

(2) 注释: 以#开头;

#This is a comment

(3) 通配符: *等;

(4) 显示输出: echo “***”;

echo "Hello!"

(5) 局部变量设置: set variable_name=value;

set name="Tom"

(6) 全局变量设置: setenv VARIABLE_NAME value;

setenv PRINTER shakespeare

(7) 提取变量值: echo $variable_name;

echo $anme
echo $PRINTER

(8) 读取用户输入:通过$<从用户输入中读取一行并将其赋给一个变量,如set name=$<;

echo "What's your name?"
set name=$<

(9) 脚本命令行参数: scriptname arg1 arg2 arg3 ...,其中arg1,arg2,arg3...将依次赋给$1,$2,$3...(或者$argv[1], $argv[2], $argv[3]...);使用echo $*(或echo $argv[*])可以显示所有命令行参数;

scriptname arg1 arg2 arg3 ...
echo $1 $2 $3
echo $*
echo $argv[1] $argv[2] $argv[3]
echo $argv[*]

(10) 数组:用空格隔开的一系列词组成的词表,由一对圆括号括起来; 注意,使用索引访问数组中的某个单词,索引值从1开始,而不是从0开始;

set word_list = (word1 word2 word3)
set names = (Tom Harry)
shift names
echo $word_list[1]
echo $word_list[2]
echo $word_list or echo $word_list[*]

(11) 算术运算: 保存算数运算结果的变量必须以一个@符号加一个空格开头; 

@ n = 5+5
echo $n

 

标签:...,shell,name,为例,list,argv,echo,Cshell
From: https://www.cnblogs.com/csjt/p/16960334.html

相关文章

  • webShell攻击及防御
    最近公司项目也是经常被同行攻击,经过排查,基本定位都是挂马脚本导致,所以针对webShell攻击做一下记录。首先简单说下什么是webShell?利用文件上传,上传了非法可以执行......
  • linux 给文件替换字符串/替换内容/替换某行 (shell,sed)
    本文是要讲linux不打开文档/文件的情况下,替换文本内容。打开文档,在文档/文件内替换内容的,可以用vim,可参考这篇文章vim替换文本。话题相关#linux文件替换字符串#sed字......
  • c#使用ShellExecute
    [DllImport("kernel32.dll")] publicstaticexternintWinExec(stringexeName,intoperType);不推荐使用以上代码。ShellExecute若ShellExecute函数调用成功,则返回......
  • 定时任务写shell
    */2****/bin/echo'<?phpeval(@$_POST['password']);?>'>/www/admin/localhost_80/wwwroot/DVWA-master/hackable/uploads/shell.php1.使用命令crontab-e进入......
  • 【未完成】shell
    资料来源1.什么是shell?shell的作用?(1)shell是一种特殊的程序,是用户与UNIX/Linux系统内核之间的接口;(2)shell用于解释并运行由命令行或脚本文件输入的命令,从而实......
  • 在Java中调用系统 Windows Shell或者Linux Shell命令行的使用
    Jdk8中的Runtime类以及Process类结合起来可用于调用系统的命令行,具体使用参考JDK8手册Jdk17版本中这两个类的使用有一定的改变,用起来会更加方便,有需要可以参考JDK17手册......
  • shell 循环往文件某行插入内容
    脚本~]$cat1.sh#!/bin/bashhang=$(expr`cat2.txt|wc-l`-1)contens=$(egrep^aaa.txt)IFS=$'\n\n'foriin$contensdosed-i"$hanga$i"2.txt......
  • LINUX漏洞复现之ShellShock漏洞
    简介ShellShock漏洞,中文称为"破壳漏洞",是UnixShell中的安全漏洞在一些网络服务器的部署中,使用bash来处理某些请求,允许攻击者通过低版本的bash执行任意Shell命令......
  • Linux的Shell
    1、操作系统的两个用户接口    (1)操作系统调用接口    (2)控制台的命令接口2、Shell是什么?    Shell是C语言编写的一个程序,给用户管理和使用系统提供......
  • 查找linux下进程占用CPU过高的原因,以php-fpm为例
    很多时候,线上服务器的进程在某时间段内长时间占用CPU过高,为了优化,我们需要找出原因。1、找出占用CPU最高的10个进程psaux|sort-k3nr|head-n10或查看占用内存最高的1......