#!/bin/bash
mainDir="$1"
fileName="$2"
preCommand="$3"
echo ${mainDir}
echo ${fileName}
echo ${preCommand}
我试图将早期调用中的文本和参数插入到另一个脚本的参数中。
./script.sh "dir1" "filename" "text with ealier agrument ${mainDir}"
来自我的脚本的回声总是返回:“带有更早的文本的文字”
是否可以在脚本中执行此操作?
答案 0 :(得分:2)
如果您希望第一个参数成为第三个参数的一部分,则需要明确说明。任
./script.sh "dir1" "filename" "text with ealier agrument dir1"
或
first=dir1
./script.sh "$first" "filename" "text with earlier argument $first"
答案 1 :(得分:1)
您可以使用"来源"命令
示例:
source ./script.sh "dir1" "filename" "text with ealier agrument ${mainDir}"
当您运行脚本时,您将生成一个新的shell进程作为当前shell的子进程(子进程中的更改不会影响父进程)。当您使用" source"时,您正在当前的shell中运行。
每次运行上面的命令时,带有早期参数$ {mainDir}"的#34;文本将回显给你之前提供给命令的内容。