我是Bash的新手。 我想写一个脚本,它有三个变量:
我试图更改文件的名称并将其移动到目录中。
我知道使用 'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'customer' => [
'driver' => 'session',
'provider' => 'customers',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'customers' => [
'driver' => 'eloquent',
'model' => App\Models\Customer::class,
],
],
可以更改名称并将其移动到其他目录。
我知道如何使用我刚刚在终端中键入的命令来完成它,但我在这些命令中使用变量时遇到了一些麻烦。该目录与文件位于同一位置,我从那里运行脚本。
示例:
mv
结果:old_file="abc"
new_file="cba"
dir="yyy"
中没有更多名为abc
的文件,但.
中有一个名为cba
的文件包含./yyy
所拥有的相同信息。
答案 0 :(得分:0)
基本上你需要使用脚本变量来调用mv
命令。请注意,变量在双引号之间,以避免在查找空格或其他特殊字符时bash拆分名称。
#!/bin/bash
old_file=$1
new_file=$2
dir=$3
mv "$old_file" "$dir"/"$new_file"
你应该调用它:
./script "abc" "cba" "yyy"
最后,请注意文件“abc”必须存在于当前目录(脚本所在的目录)中,文件夹“yyy”也必须存在于当前目录中(或者是绝对路径)。