为什么我不能通过完整的相对路径参数创建目录?这是我的尝试:
#!/bin/bash
args=("$@")
# Print the command and run it. Exit the script on failure.
run()
{
if $VERBOSE; then
echo "$@"
"$@"
else
"$@" >& /dev/null
fi
result=$?
if [ $result -ne 0 ]; then
exit $result
fi
}
if [ ! -d ${args[0]} ]; then
run mkdir -p ${args[0]}
fi
run cd ./release/
run cp -rf ./html/ ${args[0]}
Run Code Online (Sandbox Code Playgroud)
但我得到:
mkdir -p ./bla/bla/cloud/
cd ./release/
cp -rf ./html/ ./bla/bla/cloud/
cp: cannot create directory `./bla/bla/cloud/': No such file or directory
Run Code Online (Sandbox Code Playgroud)
所以我想知道如何在这样调用时使脚本工作: ./script.sh ./bla/bla/bla/
假设您从/some/dir.
mkdir -p ./bla/bla/cloud/ # create /some/dir/bla/bla/cloud
cd ./release/ # cd /some/dir/release
cp -rf ./html/ ./bla/bla/cloud/ # copy to /some/dir/release/bla/bla/cloud
Run Code Online (Sandbox Code Playgroud)
根据定义,当您更改当前目录时,相对路径也会更改。