首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在 Linux 运行一个 Shell 脚本

/script.sh 如果你与你脚本不在同一个目录,你可以具体指定脚本绝对路径或相对路径: 在其它目录运行 Shell 脚本 脚本这个 ./ 是非常重要(当你与脚本同一个目录)。...为什么当你同一个目录下,却不能使用脚本名称?这是因为你 Linux 系统会在 PATH 环境变量中指定几个目录查找可执行文件来运行。...当你使用脚本而不具体指定其绝对路径或相对路径时,系统将不能在 PATH 环境变量中找到提及脚本。 为什么大多数 shell 脚本在其头部包含 #! /bin/bash ?...记得我提过 shell 只是一个程序,并且有 shell 程序不同实现。 当你使用 #! /bin/bash 时,你是具体指定 bash 作为解释器来运行脚本。如果你不这样做,并且以 ....看看,大多数 shell 语法是大多数种类 shell 通用,但是有一些语法可能会有所不同。 例如, bash 和 zsh 数组行为是不同

3.4K20

Linux环境变量 转

Linux 环境变量具有继承性,即子shell 会继承父shell 环境变量。 本地变量,当前shell 变量,很显然本地变量中肯定包含环境变量。....    ~/.bashrc : 该文件包含专用于单个人bash shell bash 信息,当登录时以及每次打开一个新shell 时, 该该文件被读取。    ...有没有办法在当前shell 执行一个脚本呢?使用source 命令就可以让脚本在当前shell 执行。.../sbin  pathmunge /usr/local/sbin  fi  如果是超级用户登录,/etc/profile.d/krb5.sh脚本,PATH变量搜索路径最前面增加/usr/kerberos.../sbin:/usr/kerberos/bin  如果是普通用户登录,/etc/profile.d/krb5.sh脚本,PATH变量搜索路径最前面增加/usr/kerberos/bin 

2.5K10
您找到你想要的搜索结果了吗?
是的
没有找到

Linux系列教程(二十二)——Linuxbash变量

上篇博客我们介绍了bash一些基本功能,这是我们平时操作最频繁。本篇博客我们介绍bash变量,为后面编写shell脚本做铺垫。...前面讲用户自定义变量(本地变量)只在当前shell 中生效,而环境变量会在当前shell和这个shell所有子shell当中生效,如果把环境变量写入相应配置文件,那么这个环境变量就会在所有的shell...解决办法就将hello.sh所在路径添加到 $PATH 变量,如下: ?   ⑥、定义系统提示符变量 $PS1 ? ? 6、位置参数变量用法 ? ?...12、环境变量配置文件   前面我们将环境变量时候,我们将脚本路径加入到 $PATH 路径,然后就可以直接通过脚本名称来执行脚本。...但是如果系统重启之后,发现又必须要重新加入到 $PATH 变量才可以。那么有没有让它一直生效方法呢?   解决办法就是环境变量配置文件中加入脚本路径

1.1K100

Shell-binbash和binsh解释器误用引起脚本语法错误

---- 背景 下面的脚本Linux上运行良好,SUNOS执行时候报语法错误。 #!...同样一段shell脚本 Linux主机上运行良好, 但是SUNOS上 却执行报错了 syntax error at line 12: `SELF_PATH=$' unexpected ----...查看主机SHELL解释器类型 ocsdb02:[/oracle$]echo $SHELL /bin/bash ocsdb02:[/oracle$] ---- 解决办法 将 第一行 #!...Bash放在/bin/bash,它有许多特色,可以提供如命令补全、命令编辑和命令历史表等功能,它还包含了很多C shell和Korn shell优点,有灵活和强大编程接口,同时又有很友好用户界面...GNU/Linux 操作系统 /bin/sh 是 bash(Bourne-Again Shell符号链接,但鉴于 bash 过于复杂,有人把 ash 从 NetBSD 移植到 Linux 并更名为

2.1K40

Linux之shell编程基础

linux中有很多类型shell不同shell具备不同功能,shell还决定了脚本函数语法,Linux默认shell是/bin/bash(重点),流行shell有ash、bash、ksh...包含功能几乎可以涵盖shell所具有的功能,所以一般shell脚本都会指定它为执行路径。 2、shell入门 编写规范: 代码规范: #!...脚本执行另外一个方式:/bin/bash 脚本路径(了解) ?...不能使用bash关键字(可用help命令查看保留关键字)。 案例1:使用变量改写入门脚本第1个shell脚本。 ? ?...注意:权限几个判断,如果只有一个部分符合,则认为是有权限。 4、shell脚本附带选项(重点) 问题描述:linux shell如何处理tail -10 access.log这样命令行选项?

3.3K20

日拱一卒,麻省理工教你CS基础,那些酷炫无比命令行工具

Shell脚本复杂度会提升一些,大多数Shell拥有它们专属脚本语言,涵盖变量、控制流以及特有的语法。和其他脚本语言不同是,shell脚本是专门为了运行shell相关任务而优化过。...比如创建命令管道,将运行结果保存在文件里,或者是从标准输入读入数据,都是shell脚本基础操作,这也使得它比一些通用脚本语言更加易用。这节课我们将会聚焦bash脚本,因为它更加普遍。...这里$1指脚本第一个参数,和其他脚本语言不同bash使用许多特殊变量来代表参数、error代码和其他相关变量。...如果你之前不小心有过输入了前导空格命令,你可以.bash_history或者.zhistory手动删除它们。 路径导航 现在,我们已经假设你已经熟悉了上面这些操作。 但你怎样快速地导航到路径呢?...你任务是写一个命令,它能够递归查找当前路径下所有HTML文件,并且给它们创建zip压缩包。注意:即使文件名包含空格,你命令也依然需要生效。(提示,查看xargs``-dflag)。

1.5K40

安服仔偷懒必备技能之自动化主机检查脚本

一、前言 之前去现场,大佬说客户要跑主机检查脚本,就是服务器有点多,有几百台,问有没有办法一键下发,然后执行脚本去跑,跑完之后回收数据,我听这需求,这不是有手就行?...,但是跟FTP不一样是,FTP能够命令把密码加进去,而SCP需要自己输入密码。.../bin/expect这个解释器,而这两个是没办法直接引用到上面的,也就是一个shell脚本无法直接使用两个解释器。.../bin/bash 找了两天解决办法,什么方式都尝试了一遍,文件包含,命令行传参啥都尝试了,都没办法,我甚至午休躺在椅子上面睡觉还梦到有别的解决办法,然后惊醒,本来已经打算跟客户说让他用ftp那个时候...EOF给结束掉,也就是将上面的代码包进来(向右滑动,查看更多) 这样直接把过滤文件方式已经自动输入密码给完成了,其实如果想要实现那些自动上传脚本,执行这些也是能完成,只要解决了两个解释器命令能够同一个脚本里面执行

58030

理解 LinuxUnix 登录脚本

不知道你有没有遇到过这样场景,当你需要设置一个环境变量,或者运行一个程序设置你shell或桌面环境,但是不知道在哪里是最方便设置位置。...下面的代码是/etc/profile一部分。 ? 为了方便,root用户(ID为0)和其他任何用户路径不同。...~/.bash_profile, ~/.bash_login, and ~/.profile /etc/profile存在一个潜在问题是,它位于系统范围路径。...需要牢记一点是,默认Debian框架目录(/etc/skel,用于存放要复制到新用户账户主目录文件和目录)包含.profile文件,但不包含.bash_profile和.bash_login文件。...这会显著地改变行为,使得/etc/bash.bashrc和.bashrc(如果它们存在)总是Bash启动时调用,而不管是不是登录Shell。不要期待这种情况不同地发行版是一样

1.1K10

深入了解定制 Bash | Linux 中国

Bash 非交互模式下运行例子是,当命令和数据从文件或 shell 脚本通过 管道 传送到 Bash 时。...当用户退出登录模式 shell 时,或者有脚本非交互式登录模式 shell 调用了内置 exit命令,Bash 会读取并执行 ~/.bash_logout 命令,如果 /etc/bash_logout...image.png 我们已经知道,不同启动模式下,Bash 会执行不同命令,所以很明显,只有几种最需要关注典型启动模式。...另外,处理 BASH_ENV 时并不会使用 PATH 变量所存储值(LCTT 译注:意即不会检索搜索路径),所以它必须包含执行文件绝对路径。...$- Bash 是一个变量,如果是交互式 shell,它会包含字母 i。此外,你可以直接输出 $- 变量然后检查它输出是否含有 i 标记。

1.1K30

shell 脚本笔记(入门到进阶)

2.5 top 3 运行shell脚本4种方式 4 linux权限之可操作性权限x 5 ShellBash)用户自定义变量使用方法详解 6 脚本代码规范 6.1 调试,查看结果是哪个代码执行...程序两个地方 1 解释器交互环境: 1.1 .sh文件 linux“.sh”文件是脚本文件,一般都是bash脚本,我们可以使用sh命令运行“sh xxx.sh”,并且由于linuxsh是链接到...5 ShellBash)用户自定义变量使用方法详解 每一个bash里面,都是一个进程,各个进程之间互不干扰,意思是如果你一个bash里面,设置了一个变量,在其他bash里面是获取不到 如何打开一个新...=C baincheng -bash: chao: command not found #变量值如果有空格,必须用引号包含 变量调用 当我们需要提取变量内容时,需要在变量名之前加入"$"符号。...=C baincheng -bash: chao: command not found #变量值如果有空格,必须用引号包含 变量调用 当我们需要提取变量内容时,需要在变量名之前加入"$"符号。

69130

快速学习Bash

以后我在这个Shell输入命令freak时,都将等价于输入free -h。 Shell,我们可以通过type命令来了解命令类型。如果一个命令是可执行文件,那么type将打印出文件路径。...SHELL变量存储了当前使用Shell信息你可以bash中用sh命令启动sh,并可以用exit命令从中退出。 命令选项和参数 我们已经看到,一行命令里还可以包含着选项和参数。.../bin/bash echo Hello echo World 脚本第一行说明了该脚本使用Shell,即/bin/bash路径Bash程序。脚本正文是两行echo命令。...由于该功能记录在脚本,因此我可以反复地运行同一个文件来实现相同功能,而不是每次想用时候都要重新敲一遍命令。...跨脚本调用 Bash中使用source命令,可以实现函数脚本调用。命令source作用是同一个进程执行另一个文件Bash脚本

1.2K20

快速学习Bash

以后我在这个Shell输入命令freak时,都将等价于输入free -h。 Shell,我们可以通过type命令来了解命令类型。如果一个命令是可执行文件,那么type将打印出文件路径。...SHELL变量存储了当前使用Shell信息你可以bash中用sh命令启动sh,并可以用exit命令从中退出。 命令选项和参数 我们已经看到,一行命令里还可以包含着选项和参数。.../bin/bash echo Hello echo World 脚本第一行说明了该脚本使用Shell,即/bin/bash路径Bash程序。脚本正文是两行echo命令。...由于该功能记录在脚本,因此我可以反复地运行同一个文件来实现相同功能,而不是每次想用时候都要重新敲一遍命令。...跨脚本调用 Bash中使用source命令,可以实现函数脚本调用。命令source作用是同一个进程执行另一个文件Bash脚本

1.7K60

快速学习Bash

以后我在这个Shell输入命令freak时,都将等价于输入free -h。 Shell,我们可以通过type命令来了解命令类型。如果一个命令是可执行文件,那么type将打印出文件路径。...SHELL变量存储了当前使用Shell信息你可以bash中用sh命令启动sh,并可以用exit命令从中退出。 命令选项和参数 我们已经看到,一行命令里还可以包含着选项和参数。.../bin/bash echo Hello echo World 脚本第一行说明了该脚本使用Shell,即/bin/bash路径Bash程序。脚本正文是两行echo命令。...由于该功能记录在脚本,因此我可以反复地运行同一个文件来实现相同功能,而不是每次想用时候都要重新敲一遍命令。...跨脚本调用 Bash中使用source命令,可以实现函数脚本调用。命令source作用是同一个进程执行另一个文件Bash脚本

1.2K30

Linux学习笔记(四)

非交互式shell 系统执行shell脚本时用就是非交互式shell不同于交互式shell地方在于它没有命令行提示符。...MAIL 当前用户收件箱文件名(bash shell会检查这个文件,看看有没有邮件) MAILPATH 冒号分隔的当前用户收件箱文件名列表(bash shell会检查列表每个文件,看看有没有新邮件...PS2 sell命令行界面的次提示符 bash shell环境变量 除了默认Bourme环境变量,bash shell还提供一此 自有的变量 变量 描述 BASH 当前shel实例路径BASH_ALIASES...含有当前已设置别名关联数组 BASH_ARGC 含有传入子函数或shel脚本参数总数数组变量 BASH_ARCV 含有传入子函数或shell脚本参数数组变量 BASH_CMDS 关联数组,包含...t’ 时,表明emacs shell缓冲区正在工作,而行编辑功能被禁止 ENV 如果设置了该环境变量,bash shell脚本运行之前会先执行已定义启动文件(仅用于当bash shell以IPOSIX

1.1K10

Shell脚本编程30分钟入门

shell脚本shell script),是一种为shell编写脚本程序。业界所说shell通常都是指shell脚本,但读者朋友要知道,shellshell script是两个不同概念。...bash Bash是Bourne shell替代品,属GNU Project,二进制文件路径通常是/bin/bash。...业界通常混用bash、sh、和shell,比如你会经常在招聘运维工程师文案见到:熟悉Linux Bash编程,精通Shell编程。...包含一个文件和执行一个文件一样,也要写这个文件路径,不能光写文件名,比如上述例子: . ....$real_path 用户输入 执行脚本时传入 脚本运行输入 select菜单 stdin和stdout 常用命令 sh脚本结合系统命令便有了强大威力,字符处理领域,有grep、awk、sed三剑客

1.4K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券