Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在Bash中复制和重命名脚本_Linux_Bash_Scripting - Fatal编程技术网

Linux 在Bash中复制和重命名脚本

Linux 在Bash中复制和重命名脚本,linux,bash,scripting,Linux,Bash,Scripting,我正在尝试创建一个复制和重命名文件脚本。这是我到目前为止所拥有的 read COPYDIR read DESTINATION for file in `ls $COPYDIR`;do if [ -f $COPYDIR/$file ]; then cp $file $DESTINATION fi done 我正在尝试向复制的文件添加.bak扩展名。如何将其添加到脚本中?您不需要解析ls的输出。你可以做: for file in "$COPYDI

我正在尝试创建一个复制和重命名文件脚本。这是我到目前为止所拥有的

read COPYDIR

read DESTINATION

for file in `ls $COPYDIR`;do    
    if [ -f $COPYDIR/$file ]; then    
    cp $file $DESTINATION
    fi    
done

我正在尝试向复制的文件添加.bak扩展名。如何将其添加到脚本中?

您不需要解析ls的输出。你可以做:

for file in "$COPYDIR"/*; do 
    f="${file##*/}" 
    [[ -f "$file" ]] && cp "$file" "$BAK_DEST_DIR1/$f.bak"
done

您需要获取$file的基本名称才能使其工作。谢谢,我刚刚发布了相同的:)