首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
shell 里面source失效
2024-08-04
shell脚本中source无效
发现在shell里面执行source,提示找不到命令.所以,我取搜了一些资料,总结一下. 一. 脚本中,source找不到命令--------------是因为用了sh执行脚本,而debian系统的sh指向dash.需要更改系统sh指向: (1)cd /bin (2)mv sh sh.old (3)ln -s sh bash 二. 为什么没有在控制台界面看到source的结果?--------因为控制台是一个shell,脚本是他的子shell.两者不是同一个环境. 分清楚几个shell执行的环境
Shell 的source命令
source命令用法: source FileName 作用:在当前bash环境下读取并执行FileName中的命令. 注:该命令通常用命令“.”来替代. 如:source .bash_rc 与 . .bash_rc 是等效的. 注意: source命令与shell scripts的区别是,source在当前bash环境下执行命令,而scripts是启动一个子shell来执行命令.这样如果把设置环境变量(或alias等等)的命令写进scripts中,就只会影响子shell,无法改变当前的BASH
shell中source与sh区别
shell中使用source conf.sh,是直接运行conf.sh的命令,不创建子shell,类似与html中include,而sh是则创建子shell, 子shell里面 的变量父shell无法使用,对环境变量的修改也不影响父shell.父shell中的局部变量,子shell也无法使用, 只有父shell的环境变量, 子shell能够使用.还有一个exec conf.sh,这个与source类似,区别是exec执行完,不再执行后面的语句. source命令的作用就是用来执行一个脚本,那
[转]shell中 source命令即点空格后面再跟可执行文件的说明
这里记录的是在一个shell脚本里面使用. ./file.sh 和./file.sh 的区别,本文参考了http://www.lslnet.com/linux/dosc1/39/linux-283534.htm (这个蓝森林的东西应该是来源于chinaunix) 来个小实验场景一:vi file1.sh./file2.shecho $NIVEK vi file2.shNIVEK=goupiexport NIVEK chmod 755 file1.sh file2.sh $./file1.sh
shell 备份 source code
1. 利用shell脚本备份源码 首先mkdir创建三个目录 backup存放备份代码,script 存放shell脚本,www存放源码 2.创建文件 3. 编写shell脚本 #!bin/sh basedir=/data/backup www_src=$backdir/www_src/$(date +%F_%H%M) [! -d "$www_src" ] && mkdir -p $www_src cd /data tar -jpcf $www_src/www.tar
[shell] shell 变量生命周期, source, export
1. shell 的派生 用户登录到Linux系统后,系统将启动一个用户shell.在这个shell中,可以使用shell命令, 或声明变量,也可以创建并运行shell脚本程序.运行shell脚本程序时,系统将创建一个子shell. 此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本程序创建的shell.当一个脚本程序运行完毕,脚本shell将终止,返回到执行该脚本之前的shell. 从这种意义上来说,用户可以有许多 shell,每个shell都是由某个sh
Shell入门知识
Shell 简介 Shell作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支. 常常作为批处理命令来使用,用来提高生产效率! 入门 下面是Shell的一段简单入门程序,我们在Linux上面使用vi test.sh然后将下面的代码打进去,运行sh test.sh 即可 #!/bin/bash echo "Hello World !" 上面这段程序是输出HelloWorld,其中#!/bin
shell入门练习
**定义局部变量, 局部变量在退出Shell客户端时会失效** **单引号:原样输出** **双引号:如果里面有变量,会输出变量** **没有引号:输出变量** 可以在调用脚本的时候给脚本传递参数,脚本内使用$1 $2 ...... 接受传递的参数,当参数超过9的时候,需要用花括号括起来 ${10} 特殊的调用参数: $0:返回Shell文件名称 $$:当前脚本的PID $#:传递的所有参数 $@:程序中的所有参数,这是将参数传递给其他程序的最佳方式. $! :执行的上一个命令的PID $?:上
Shell Script Notes
shell Script学习笔记 <鸟哥的Linux私房菜 3rd Edition>: @1:若变量内容中包含空格字符,则可使用双引号"或单引号'将变量内容结合起来,但不同的是: #1:双引号内的特殊字符(如 $ 等),会保有原本的特性: var="lang is $LANG" echo $var 可得lang is en_US #2:单引号内的特殊字符则仅为一般字符 (纯文本): var='lang is $LANG' echo $var 可得lang is $
shell高级-----创建函数
基本脚本函数 1.创建函数 有两种格式可以用来在bash shell脚本中创建函数.第一种采用关键字function.后跟分配给该代码的函数名. function name { commands } name属性定义了赋予函数唯一的名称.脚本中定义的每个函数都必须有一个唯一的名称.commands是构成函数的一条或多条bash shell命令.在调用该函数时,bash shell会按命令在函数中出现的顺序依次执行,就像在普通脚本中一样. 在bash shell脚本中定义函数的第二种格式更接近于其
linux之shell基本认知操作和简单shell练习
shell编程: 1.Shell的作用 命令解释器,“翻译官”.介于操作系统内核与用户之间,负责解释命令行. shell功能非常强大,除负责解释名另外,还可以将多个命令组合起来,完成复杂的任务,这就是SEHLL编程. CentOS7之前(Linux核心3.0之前)的各版本都是通过shell程序进行服务控制的. 1.编译器 将系统外围使用高级语言(如:JAVA.C#等)编写的程序 翻译成系统内核 及硬件能够 识别的低级程序 或机器语言程序的工具,称为编译器 编译器其实也是一个程序,不同
可显示Android设备选择列表,并进入指定Android设备Console的Shell脚本
如果PC上连接多部Android设备(包括Android模拟器),在进入Console时还需要使用adb -s deviceid shell.比较麻烦,本文为此编写了一个Shell脚本文件(需要在Linux或OS X下才能使用,windows下需要用bat或cmd从新编写). 基本思路时先用adb devices命令扫描有多少Android设备连接到PC上,然后从返回值中截取设备名称,并显示一个菜单.最后用户可以选择菜单项前面的序号进入指定的Android设备.无需再输入devicei
(二)shell中case语句、程序传参、while
2.2.6.1.case语句(1)shell中的case语句和C语言中的switch case语句作用一样,格式有差异(2)shell中的case语句天生没有break,也不需要break,和C语言中的switch case不同.shell中的case默认就是匹配上哪个执行哪个,不会说执行完了还去执行后面的其他case(就好像shell中的case语言默认都带了break). 2.2.6.2.调用shell程序的传参(1)C语言中可以通过main函数的argc和argv给程序传参(详情参考<4.
shell知识点
各个项目以实践为主.原理及更多细节介绍,请查看官方文档: 例如:bash,grub,postfix,pam,fastcgi,httpd,rsync等诸多项目. 各种总结表格 http://www.cnblogs.com/xkfz007/archive/2012/02/02/2336318.html http://blog.sina.com.cn/s/blog_6bd7d943010151a1.html Linux下产生随机密码的10方法 shell 彩色化更改 /etc/DIR_COLORS,具
《Linux命令行与shell脚本编程大全》 第二十二章 学习笔记
第二十二章:使用其他shell 什么是dash shell Debian的dash shell是ash shell的直系后代,ash shell是Unix系统上原来地Bourne shell的简化版本. NetBSD Unix操作系统移植了ash shell,并且作为默认shell.NetBSD开发人员给ash shell添加了一些新功能,使它更接近Bourne shell.新功能包括:emacs和vi编辑器命令进行命令行编辑,以及历史命令来查看前面输入的命令.ash shell这个版本也被Fr
《Linux命令行与shell脚本编程大全》第十七章 创建函数
可以将shell脚本代码放进函数中封装起来,这样就能在脚本中的任何地方多次使用它了. 17.1 基本的脚本函数 函数:是一个脚本代码块,可以为其命名并在代码中任何位置重用. 17.1.1 创建函数 有两种格式:name 是函数名 1) function name { commands } 2)这种就比较接近c语言风格了 name() { commands } 17.1.2 使用函数 跟其他shell命令一样,在行中指定函数名就好了. 在函数定义前使用函数,会收
shell的含义
shell:壳,是操作linux最直接的方式,通过shell中输入命令和linux系统进行交互. shell是一个小盒子,每一个有独立的命名空间,登录后的操作就是一个shell(有可能是bash,zsh等),每一个shell脚本都是一个shell:每个shell中的变量名称不会互相影响: ~/.bashrc./etc/bashrc等这些是特殊的shell,成为shell配置文件,这些文件中有alias(别名),export(变量输出): 这些特殊的文件会在linux启动的时候自动source(加
[拾 得] 一枚迷人的贝壳 SHELL / Linux | shell 脚本初步入门
坚持知识分享,该文章由Alopex编著, 转载请注明源地址: http://www.cnblogs.com/alopex/ 索引: 什么是shell shell的分类 shell脚本的执行方式 摘要: 了解shell的本质是什么 了解除bash这个shell之外,还有哪些shell shell 脚本以及shell脚本的执行方式/区别 什么是shell 一般来说,操作系统由用户接口(User Interface)和系统内核(kernel)两部分构成 从名字可以看出,
shell从入门到精通进阶之一:Shell基础知识
1.1 简介 Shell是一个C语言编写的脚本语言,它是用户与Linux的桥梁,用户输入命令交给Shell处理,Shell将相应的操作传递给内核(Kernel),内核把处理的结果输出给用户. 下面是处理流程示意图: Shell既然是工作在Linux内核之上,那我们也有必要知道下Linux相关知识. Linux是一套免费试用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统. 1983年9月27日,Richard Stallman(理查德
《Linux.Shell编程从入门到精通》读书笔记
第一章 第一个Shell程序 以 #!解析器名称 开头,表示选择哪个解释器解释shell脚本 source命令 export命令 env命令 unset命令 第二章 shell编程基础 函数传递 标准输入输出符号 第三章 编程的基本元素 获取命令执行返回值 $((数值计算)) 获取数值计算结果 如:$((100 - 2*100/400)) 替换运算符 模式匹配运算符 shift命令可以截取参数列表最左端的一个参数 type命令判断被执行命令的来源(别名.关键字.函数.内置命令.外部命令) tes
fork exec source的区别
参考:http://www.cnblogs.com/bkygg/p/5023072.html 1:fork 运行的时候开一个sub_shell 执行调用的脚本,sub_shell执行的时候,parent_shell还在.sub_shell执行完毕后返回parent_shell.sub_shell从parent_shell继承环境变量.但是sub_shell中的变量不会带回parent_shell.在子命令执行完后再执行父命令,子级的环境变量不会影响到父级 2:exec 执行子级的命令后,不再执
热门专题
完成计算机猜数字和玩家猜数字的功能python
pandas query删除
epplus 调整 分页
.netCore配置文件如何配置外部接口地址
Sleuth sentinel 区别
svg path 在线编辑
引用的类型必须与其所引用的对象类型一致
mastering mariadb中文
java利用接口实现计算器
es 实现like查询
c语言操作二进制数字
mvc native支付
TC软件获取某个界面读取光标位子
__init函数执行后没有执行main,c
10. buck电路断续过程解释
linux 怎么配置不用hosts解析
linux驱动工程师面试题及答案
centos 部署 pgadmin
python 当class单例对象销毁时
iis session保持