我有一个脚本,exit
如果它被采购我不希望它调用.
我想过检查是否$0 == bash
但如果脚本来自另一个脚本,或者如果用户从不同的shell中获取它,则会出现问题ksh
.
是否有可靠的方法来检测脚本是否来源?
所以我想创建一个可移植的bashrc/bash_profile文件.我有一个单独的脚本,我象征性地链接到.bashrc,.bash_profile等.然后$0
我看着根据调用的脚本切换我做的事情.问题是shell调用bashrc脚本当然它执行bash真的$0
对我来说意味着什么-bash
.$1
更多未设置为脚本名称.
所以我的问题是,在bash中如何获取正在执行的脚本的名称.不是执行它的二进制文件,例如bash?
我认为它给了我-bash
与$1
未设置,因为这实在不是一个新的进程.有任何想法吗?
我有一个看似简单的 bash 脚本来设置我的环境:前两行是:
#!/bin/bash
export CVE_ENV_DIR=$PWD
Run Code Online (Sandbox Code Playgroud)
容易吗,嘿?好吧,看看运行它时会发生什么,我得到以下输出:
$ echo $PWD
/work/env
$ ./env.sh
$ echo $CVE_ENV_DIR
$
Run Code Online (Sandbox Code Playgroud)
为什么 CVE_ENV_DIR 没有设置为/work/env
?这里发生了什么?当我export CVE_ENV_DIR=$PWD
在 shell 上手动输入时,它按预期工作......