我有4个shell变量集
remote_account="raccname"
remote_machine="server"
First_Name="firstname"
Last_Name="lastname"
Run Code Online (Sandbox Code Playgroud)
当我打电话remote_account或remote_machine在我的剧本中,他们得到了很好的使用
echo "What directory shall you choose?"
read dir
scp -r ~/csc60/$dir $remote_account@$remote_machine:directoryA
exit;;
Run Code Online (Sandbox Code Playgroud)
但是当我打电话给其他两个人的时候
echo "What directory shall you choose?"
read dir
scp $remote_account@$remote_machine:tars/$Last_Name_$First_Name_$dir.tar.z ~/tars
exit;;
Run Code Online (Sandbox Code Playgroud)
当我扔进去时,它会抓取tars文件tars/$dir.tar.z完全跳过它仍显示为"lastname"$Last_Name_$First_Name_echo $Last_Name
变量之间是否有一些使用"_"的规则,或者我只是遗漏了一些明显的东西?
_ 是变量名的有效字符,因此您必须限定哪个部分是变量.
scp "$remote_account@$remote_machine:tars/${Last_Name}_${First_Name}_$dir.tar.z" ~/tars
Run Code Online (Sandbox Code Playgroud)