脚本 sh 和 ./ 的区别

如果.不在PATH里面,要执行当前目录下的可执行文件,使用全路径:

./executable-file

PATH是环境变量,如果将当前目录“./”添加到环境变量中,那么也可以不用“./”,直接输入当前目录下有可执行权限的可执行文件就可以运行了

如果要执行一个sh脚本,不管那个脚本有没有可执行权限,都可以使用:

sh [file]

这时file是作为参数传给sh的,如果file不在当前目录下,也需要使用全路径。

全路径有绝对路径和相对路径两种。./和../开头的都是相对路径,分别表示”在当前目录下”和”在父目录下”。

时间: 2024-10-06 20:14:16

脚本 sh 和 ./ 的区别的相关文章

Linux 脚本 sh 和 ./ 的区别

如果.不在PATH里面,要执行当前目录下的可执行文件,使用全路径:./executable-file PATH是环境变量,如果将当前目录“./”添加到环境变量中,那么也可以不用“./”,直接输入当前目录下有可执行权限的可执行文件就可以运行了 如果要执行一个sh脚本,不管那个脚本有没有可执行权限,都可以使用:sh [file] 这时file是作为参数传给sh的,如果file不在当前目录下,也需要使用全路径. 全路径有绝对路径和相对路径两种../和../开头的都是相对路径,分别表示”在当前目录下”和

同一脚本sh 脚本名 报Syntax error: "(" unexpected而./脚本名不报错,求解!!

同一脚本sh 脚本名 执行时报Syntax error: "(" unexpected:而./脚本名执行不报错,为什么呢 脚本内容如下: function usage(){ echo "usage:$0 url" exit 1 } function check_url(){ wget --spider -q -o /dev/null --tries=1 -T 5 $1 if [ $? -eq 0 ] then echo "$1 is ok" el

shell 脚本各种执行方式(source ./*.sh, . ./*.sh, ./*.sh)的区别

结论一: ./*.sh的执行方式等价于sh ./*.sh或者bash ./*.sh,此三种执行脚本的方式都是重新启动一个子shell,在子shell中执行此脚本. 结论二: .source ./*.sh和 . ./*.sh的执行方式是等价的,即两种执行方式都是在当前shell进程中执行此脚本,而不是重新启动一个shell 而在子shell进程中执行此脚本. 验证依据:没有被export导出的变量(即非环境变量)是不能被子shell继承的 验证结果: [[email protected] ~]#n

数据库备份脚本.sh

#!/bin/bash #auto bakcup mysql db BAK_DIR=/data/backup/mysql/`date +%Y-%m-%d` MYSQL_DB=数据库名 MYSQL_PW=密码 MYSQL_USR=用户名 MYSQLCMD=/usr/bin/mysqldump if [ $UID -ne 0 ];then #必须使用root用户运行,$UID为系统变量 echo "必须root用户执行这个脚本" exit fi if [ ! -d $BAK_DIR ];t

Linux中两种脚本执行方式的区别:. xx 和 ./xx

今天继续在看Building Linux Embedded Systems一书,进入第四章,有一些实际的操作,其中在介绍了良好的组织架构(文件夹)后,建议些一个script可以进行不同的开发环境.里面很简单,包括一个export和cd的命令,这个脚本假设为 export PROJECT=/home/aaa/project1 cd $PROJECT 并取名字为 test 我执行$ ./test,发现没有效果,然后在里面增加两个跟踪语句,如下 export PROJECT=/home/aaa/pro

shell脚本中 ${ } 和 $(( )) 的区别。${ } 限定变量边界 $(( )) 加减乘除运算

1.  ${ } 比较精确的界定变量名称的范围     用来作变量替换 例如: A=B echo $AB 原本是打算先将$A的结果替换出来,然后再补一个B字母于其后,但在命令行上,真正的结果却是只会替换变量名称为AB的值出来. 使用${ }就没问题了: echo ${A}B 得到结果 BB 2. $(( )) $(( )) 的用途:它是用来作整数运算的. 在 bash 中,$(( )) 的整数运算符号大致有这些: + - * / :分别为 "加.减.乘.除". % :余数运算 &

Centos7上vsftp脚本--> sh vsftp.sh 用户名 密码 --> sh vsftp.sh install

#!/bin/bash #vsftp install . /etc/rc.d/init.d/functions users=/etc/vsftpd/vftpuser.txt login=/etc/vsftpd/vftpuser.db generate_db="db_load -T -t hash -f $users $login" virtual_user_config=/etc/vsftpd/vuser_conf virtual_user_home=/data/www guest_u

编写用户的环境初始化脚本****.sh,包括别名,登陆提示符,vim 的设置,环境变量的设置

创建一个别名为ipconfig功能是显示第一个网卡的IP 设置提示符为绿色 设置vim自动行号 设置登陆后的欢迎界面(内容自定义) 原文地址:https://www.cnblogs.com/chenxi-hxl/p/12322956.html

详解shell中source、sh、bash、./执行脚本的区别

复制文章:https://www.jb51.net/article/128918.htm 这篇文章主要介绍了shell中source.sh.bash../执行脚本的区别,需要的朋友可以参考下 1.source命令用法: source FileName 作用:在当前bash环境下读取并执行FileName中的命令.该filename文件可以无"执行权限" 注:该命令通常用命令“.”来替代. 如:source .bash_profile . .bash_profile两者等效. sourc