在shell中交换两个文件
我试图使用代码通过临时文件切换两个文件的内容在shell中交换两个文件,shell,Shell,我试图使用代码通过临时文件切换两个文件的内容 #!/bin/bash ... mv $FILE1 $TEMP mv $FILE2 $FILE1 mv $TEMP $FILE2 当我运行它时,它返回每个行号 swap.sh:未找到第18行:mv:命令 提前感谢。您可能正在使用shell参数设置PATH变量 例如,尝试向命令添加完整路径 /bin/mv ... 使用命令,您可以找出正确的路径: which mv 或者,您可以尝试在脚本开头设置路径,例如: 路径=/bin:/usr/bin:
#!/bin/bash
...
mv $FILE1 $TEMP
mv $FILE2 $FILE1
mv $TEMP $FILE2
当我运行它时,它返回每个行号
swap.sh:未找到第18行:mv:命令
提前感谢。您可能正在使用shell参数设置PATH变量 例如,尝试向命令添加完整路径
/bin/mv ...
使用命令,您可以找出正确的路径:
which mv
或者,您可以尝试在脚本开头设置路径,例如:
路径=/bin:/usr/bin:/sbin:/usr/sbin
这取决于系统。您可以通过运行
echo $PATH
在shell中。您可能正在使用shell参数取消设置路径变量 例如,尝试向命令添加完整路径
/bin/mv ...
使用命令,您可以找出正确的路径:
which mv
或者,您可以尝试在脚本开头设置路径,例如:
路径=/bin:/usr/bin:/sbin:/usr/sbin
这取决于系统。您可以通过运行
echo $PATH
在shell中。使用正确路径初始化脚本的POSIXy方法是
PATH=$(/usr/bin/getconf PATH)
把这个放在第一次命令调用之前,你应该被设置为和,以防被一些随机的家伙意外地发现,他已经用自己的想法设置了shell概要文件,知道路径应该是什么样子
如果您需要其他目录中的程序,例如
PATH=$(/usr/bin/getconf PATH):/usr/local/bin
用正确的路径初始化脚本的POSIXy方法是
PATH=$(/usr/bin/getconf PATH)
把这个放在第一次命令调用之前,你应该被设置为和,以防被一些随机的家伙意外地发现,他已经用自己的想法设置了shell概要文件,知道路径应该是什么样子
如果您需要其他目录中的程序,例如
PATH=$(/usr/bin/getconf PATH):/usr/local/bin
使用
/usr/bin/getconf PATH
可以更好地研究系统的“默认”路径。其他一切都可能或多或少地给您一个目录的随机列表:-)最好使用/usr/bin/getconf PATH
来研究系统的“默认”路径。其他所有内容都可能或多或少地为您提供一个随机目录列表:-)您不是从cron
运行此脚本,是吗?Cron没有设置任何路径,因此您必须在脚本中设置它,最好使用PATH=$(/usr/bin/getconf PATH)
您不是从Cron
运行此脚本,是吗?Cron没有设置任何路径,因此您必须在脚本中设置它,最好使用PATH=$(/usr/bin/getconf PATH)