我有两个shell脚本,a.sh和b.sh。
我如何从shell脚本a.sh调用b.sh ?
我有两个shell脚本,a.sh和b.sh。
我如何从shell脚本a.sh调用b.sh ?
当前回答
#!/bin/bash
# Here you define the absolute path of your script
scriptPath="/home/user/pathScript/"
# Name of your script
scriptName="myscript.sh"
# Here you execute your script
$scriptPath/$scriptName
# Result of script execution
result=$?
其他回答
使用引号。
$ ./script-that-consumes-argument.sh `sh script-that-produces-argument.sh`
然后获取生产者脚本的输出,作为消费者脚本的参数。
看看这个。
#!/bin/bash
echo "This script is about to run another script."
sh ./script.sh
echo "This script has just run another script."
pathToShell="/home/praveen/"
chmod a+x $pathToShell"myShell.sh"
sh $pathToShell"myShell.sh"
有几种方法可以做到这一点。执行脚本的终端:
#!/bin/bash
SCRIPT_PATH="/path/to/script.sh"
# Here you execute your script
"$SCRIPT_PATH"
# or
. "$SCRIPT_PATH"
# or
source "$SCRIPT_PATH"
# or
bash "$SCRIPT_PATH"
# or
eval '"$SCRIPT_PATH"'
# or
OUTPUT=$("$SCRIPT_PATH")
echo $OUTPUT
# or
OUTPUT=`"$SCRIPT_PATH"`
echo $OUTPUT
# or
("$SCRIPT_PATH")
# or
(exec "$SCRIPT_PATH")
所有这些都是正确的路径与空格!!
假设新文件为“/home/satya/app/app_specific_env”,文件内容如下
#!bin/bash
export FAV_NUMBER="2211"
将该文件引用附加到~/。bashrc文件(
source /home/satya/app/app_specific_env
当您重新启动机器或重新登录时,尝试在终端中echo $FAV_NUMBER。它将输出该值。
以防万一,如果您想立即看到效果,请使用source ~/。在命令行中使用Bashrc。