将路径作为参数脚本 shell
我写了一个脚本 bash, 要打开作为参数传输的文件,并将其写入另一个文件。 但只有当文件位于当前目录中时,我的脚本才能正常工作。 现在我需要打开并编写不在当前目录中的文件。
如果一个 compile - 这是我脚本的名称,然后
必须打开
在传输的路径中。 我怎样才能做到这一点?
您的文件指定为脚本的参数,但由于
.
如果你给
作为一个论点,你的
给你一个警告:
查找:警告:您有参数 - maxdepth
不是选项-mone_enexpiler的参数,但选项不是位置 /-maxdepth 从
在它之前和那些在此之前的某些测试中影响某些测试
这是/. 请在其他参数之前指定参数。
除了,
给你深度
, 找到您的文件,直到它完成。
有深度
目录。
除了 , 您正在尝试复制此文件
, 而且还复制了它
随后。
如上所述,你的代码真的很脏,我不知道你想要做什么。 如果你可以澄清,我很乐意帮助 :/.
有一些问题仍然是开放的:
为什么你需要
文件如果你已经知道他的道路? 你总是引用一路争论吗? 或只是路径的一部分? 仅有的
?
你只想将文件复制到另一个地方吗?
是什么让你的
? 它是否将文件的内容写入另一个文件?
已经这样做了。
我还建议使用带有字母的变量 CAPITALIZED 并检查已发布命令的状态,例如
和
, 检查他们是否失败了。
在任何情况下,这是我的脚本,可以帮助您:
</file></div>
</withfile.adb[>
如果一个 compile - 这是我脚本的名称,然后
./compile next/123/file.txt
必须打开
file.txt
在传输的路径中。 我怎样才能做到这一点?
#!/bin/sh
#FIRST SCRIPT
clear
echo "-----STARTING COMPILATION-----"
#echo $1
name=$1 # Copy the filename to name
find . -iname $name -maxdepth 1 -exec cp {} $name \;
new_file="tempwithfile.adb"
cp $name $new_file #copy the file to new_file
echo "compiling"
dir >filelist.txt
gcc writefile.c
run_file="run_file.txt"
echo $name > $run_file
./a.out
echo ""
echo "cleaning"
echo ""
make clean
make -f makefile
./semantizer -da <withfile.adb[ <="" code]="" div="">
<div class="answer_text">
您的代码和您的问题略微混淆,不清楚。
似乎你打算
[code]find
您的文件指定为脚本的参数,但由于
maxdepth
.
如果你给
next/123/file.txt
作为一个论点,你的
find
给你一个警告:
查找:警告:您有参数 - maxdepth
不是选项-mone_enexpiler的参数,但选项不是位置 /-maxdepth 从
在它之前和那些在此之前的某些测试中影响某些测试
这是/. 请在其他参数之前指定参数。
除了,
-maxdepth
给你深度
find
, 找到您的文件,直到它完成。
next/123/file.txt
有深度
2
目录。
除了 , 您正在尝试复制此文件
find
, 而且还复制了它
cp
随后。
如上所述,你的代码真的很脏,我不知道你想要做什么。 如果你可以澄清,我很乐意帮助 :/.
有一些问题仍然是开放的:
为什么你需要
find
文件如果你已经知道他的道路? 你总是引用一路争论吗? 或只是路径的一部分? 仅有的
basename
?
你只想将文件复制到另一个地方吗?
是什么让你的
writefile.c
? 它是否将文件的内容写入另一个文件?
cp
已经这样做了。
我还建议使用带有字母的变量 CAPITALIZED 并检查已发布命令的状态,例如
cp
和
find
, 检查他们是否失败了。
在任何情况下,这是我的脚本,可以帮助您:
#!/bin/sh
#FIRST SCRIPT
clear
echo "-----STARTING COMPILATION-----"
echo "FILE: $1"
[ $# -ne 1 ] && echo "Usage: $0 <file>" 1>&2 && exit 1
FILE="$1" # Copy the filename to name
FILE_NEW="tempwithfile.adb"
cp "$FILE" "$FILE_NEW" # Copy the file to new_file
[ $? -ne 0 ] && exit 2
echo
echo "----[ COMPILING ]----"
echo
dir &> filelist.txt # list directory contents and write to filelist.txt
gcc writefile.c # ???
FILE_RUN="run_file.txt"
echo "$FILE" > "$FILE_RUN"
./a.out
echo
echo "----[ CLEANING ]----"
echo
make clean
make -f makefile
./semantizer -da < withfile.adb
</file></div>
</withfile.adb[>
没有找到相关结果
已邀请:
1 个回复
二哥
赞同来自:
似乎你打算
您的文件指定为脚本的参数,但由于
.
如果你给
作为一个论点,你的
给你一个警告:
查找:警告:您有参数 - maxdepth
不是选项-mone_enexpiler的参数,但选项不是位置 /-maxdepth 从
在它之前和那些在此之前的某些测试中影响某些测试
这是/. 请在其他参数之前指定参数。
除了,
给你深度
, 找到您的文件,直到它完成。
有深度
目录。
除了 , 您正在尝试复制此文件
, 而且还复制了它
随后。
如上所述,你的代码真的很脏,我不知道你想要做什么。 如果你可以澄清,我很乐意帮助 :/.
有一些问题仍然是开放的:
为什么你需要
文件如果你已经知道他的道路? 你总是引用一路争论吗? 或只是路径的一部分? 仅有的
?
你只想将文件复制到另一个地方吗?
是什么让你的
? 它是否将文件的内容写入另一个文件?
已经这样做了。
我还建议使用带有字母的变量 CAPITALIZED 并检查已发布命令的状态,例如
和
, 检查他们是否失败了。
在任何情况下,这是我的脚本,可以帮助您:
</file>