从Bash中的目录中获取文件名

时间:2015-04-29 13:56:09

标签: linux bash shell testing zsh

我正在尝试创建一个zsh脚本来测试我的项目。老师为我们提供了一些输入文件和预期的输出文件。我需要使用预期的输出文件来区分myExecutable的输出文件。

问题:$iF是否包含以下代码中的字符串或某种对文件的bash引用?

#!/bin/bash
inputFiles=~/project/tests/input/*
outputFiles=~/project/tests/output

for iF in $inputFiles
do
./myExecutable $iF > $outputFiles/$iF.out
done

注意:

实现目标的任何提示都会很好。我是shell脚本的新手,我使用以下网站快速编写脚本(因为我必须专注于项目开发而不是浪费时间在额外的东西上):

Grammar for bash language

Begginer guide for bash

1 个答案:

答案 0 :(得分:3)

正如您的代码所示,-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { // ** Problem Solved: I needed to tell the compiler where my selectedManagedObject was self.selectedManagedObject = [self.fetchedResultsController objectAtIndexPath:indexPath]; // Set the checkmark accessory for the selected row. if ([tableView cellForRowAtIndexPath:indexPath].accessoryType == UITableViewCellAccessoryNone) { [[tableView cellForRowAtIndexPath:indexPath] setAccessoryType:UITableViewCellAccessoryCheckmark]; [self.myArrayOfManagedObjects addObject:self.selectedManagedObject]; NSLog(@"Added **%@** to myArrayOfManagedObjects", self.selectedManagedObject.description); NSLog(@"myArrayOfManagedObjects contains %lu objects", (unsigned long)[self.myArrayOfManagedObjects count]); [tableView deselectRowAtIndexPath:indexPath animated:YES]; } else { [[tableView cellForRowAtIndexPath:indexPath] setAccessoryType:UITableViewCellAccessoryNone]; [self.myArrayOfManagedObjects removeObject:self.selectedManagedObject]; NSLog(@"Removed **%@** from myManagedObjectArray", self.selectedManagedObject.description); NSLog(@"myArrayOfManagedObjects contains %lu objects", (unsigned long)[self.myArrayOfManagedObjects count]); [tableView deselectRowAtIndexPath:indexPath animated:YES]; } } 包含文件的完整路径作为字符串。

N.B:不要使用$iF

使用for iF in $inputFiles代替。否则,如果路径包含空格或换行符,则代码将失败。