我有以下命令
mv 15827.png "$(<15827.png.txt)"
将文件18827.png移动到15827.png.txt中指定的路径,它运行正常。
但是当我将此命令移动到shell脚本
时#!/bin/bash
mv 15827.png "$(<15827.png.txt)"
我正在运行它:
sh myscript.sh
它不起作用,我收到以下错误:
mv:无法将'15827.png'移动到'':没有这样的文件或目录
文件15827.png.txt
包含数字7
,当前目录中有名为7
的文件夹。
答案 0 :(得分:2)
问题是您使用sh
运行脚本,但需要使用bash
运行,因为$(<filename)
是bash
扩展名。
使脚本可执行:
chmod 755 myscript.sh
然后运行:
./myscript.sh
这将使用#!
行中命名的shell执行脚本。