首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
shell 里面source失效
2026-08-07
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 执行子级的命令后,不再执
热门专题
redis rehash读写超时
php透明图与图片合并
vector有sort函数吗
sqlserver 不是主数据库
Android下实现监控摄像头
gitlab仓库超过100M
ubuntu 统一对图片名操作
使用继承Thread方式创建线程的正确步骤
android发布版sha1
delphi程序应用环境 点击菜单提示 not exists
mySQL以界面方式创建数据库
css 饼状图 五等分
微信小程序上传文件到阿里云oss存储,改下配置就可以用了
canvas 动态绘制正方形
easyui table表头高度计算错误
稀疏正则化中的稀疏度系数变化情况
datetimerange fastadmin使用
华为悦盒ec6108v9e刷回iptv
android 矩阵运算
12560协议适配器错误