读取行 "No such file or directory" 错误时 Unix 脚本循环 cat 文件
Unix Script Looping cat file while read line "No such file or directory" error
我有一个脚本可以读取参数文件,并打算对该脚本中每一行的值执行一些操作。我的输入文件以空格作为分隔符。
奇怪的是,它适用于 Linux 的旧版本,但不适用于新版本。
#! /bin/ksh
su root "cat /var/opt/OV/tmp/HPOV_gg.log" | while read Line
do
echo "${Line}"
done
Error: bash: cat /var/opt/OV/tmp/HPOV_gg.log: No such file or
directory
错误与新 Linux 版本有关,以不同的方式解析 cat 命令。
我该如何解决这个问题?或者我可以重写我的脚本以让它在这个新的 Linux 版本上工作。
最好使用sudo 以root 身份执行命令。不需要引号,并且可以通过其配置文件以细粒度的方式控制 sudo 访问。
sudo cat /var/opt/OV/tmp/HPOV_gg.log | while ...
如你所知,你可以通过编写 su root -c "cat file"
来修复你的 su 命令。命令需要通过 -c
选项传递。但是,sudo 还是更好。
我有一个脚本可以读取参数文件,并打算对该脚本中每一行的值执行一些操作。我的输入文件以空格作为分隔符。
奇怪的是,它适用于 Linux 的旧版本,但不适用于新版本。
#! /bin/ksh
su root "cat /var/opt/OV/tmp/HPOV_gg.log" | while read Line
do
echo "${Line}"
done
Error: bash: cat /var/opt/OV/tmp/HPOV_gg.log: No such file or directory
错误与新 Linux 版本有关,以不同的方式解析 cat 命令。
我该如何解决这个问题?或者我可以重写我的脚本以让它在这个新的 Linux 版本上工作。
最好使用sudo 以root 身份执行命令。不需要引号,并且可以通过其配置文件以细粒度的方式控制 sudo 访问。
sudo cat /var/opt/OV/tmp/HPOV_gg.log | while ...
如你所知,你可以通过编写 su root -c "cat file"
来修复你的 su 命令。命令需要通过 -c
选项传递。但是,sudo 还是更好。