我想读取一个值并将其与空格分开,然后根据数组的部分进行处理.更确切地说,如果第一个(如果假跳过休息)3元素的语句将使用另一个程序(查找数据库)从一个单词更改为一个数字,那么第四个和最后一个将检查上面是否有非数字或数字64,如果没有那么它会将它们全部重新组合在一起(我知道该怎么做)然后继续.我已经在谷歌的多个网站上工作了3个多小时.
vzybilly@vzybilly-laptop:~/Desktop$ cat ./test.sh
#!/bin/bash
read -p "cmd: " IN
#OIFS=$IFS
#IFS=';'
#arr2=$IN
#a=$(echo $IN | tr " " "\n")
a=$(echo "$IN")
for i in $(seq 0 $((4 - 1))); do
echo "a[$i] = \"${a[$i]}\""
done
#IFS=$OIFS
exit 0
vzybilly@vzybilly-laptop:~/Desktop$ ./test.sh
cmd: cmd pers item num
a[0] = "cmd pers item num"
a[1] = ""
a[2] = ""
a[3] = ""
Run Code Online (Sandbox Code Playgroud)
我想要的是:
vzybilly@vzybilly-laptop:~/Desktop$ ./test.sh
cmd: cmd pers item num
a[0] = "cmd"
a[1] = "pers"
a[2] = "item"
a[3] = …Run Code Online (Sandbox Code Playgroud) 让我从我需要的开始; 程序被赋予一个目录,然后它将检查目录中的所有文件(工作)并对文件执行操作(等待它可以找到该部分的所有文件).然后它会查找子目录并为每个子目录重新运行它的self.
我正在测试的目录如下所示:
desktop/test_files/ (starting directory)
desktop/test_files/folder 1/
desktop/test_files/folder 1>folder 2/
desktop/test_files/folder 1>folder 2/<files, 20 or so>
desktop/test_files/folder 3/
desktop/test_files/folder 3/<more files, 20 or so>
Run Code Online (Sandbox Code Playgroud)
文件夹和文件在名称中包含空格
输出是:
$ ./x007_shorter.sh Desktop/test_files/
Desktop/test_files/"folder 1"/
Desktop/test_files/folder 1/"folder 2"/
ls: cannot access */: No such file or directory
Desktop/test_files/folder 1/folder 2/"folder 3"/
./x007_shorter.sh: line 4: cd: ./folder 3/: No such file or directory
ls: cannot access */: No such file or directory
Run Code Online (Sandbox Code Playgroud)
这是程序:
#!/bin/bash
function findir {
newDir=$1
eval cd $newDir
ARRAY=( $(ls -d …Run Code Online (Sandbox Code Playgroud)