我的文件扩展名为.ksh
,我创建了一个shell脚本,可以在java
中调用此文件。
当我调用shell脚本时,它将读取文件并运行该过程。
我们在.ksh
文件中定义了一些不同的条件,例如BadFile
和LogFile
。
如果.ksh
文件成功运行,它将在服务器中生成一个日志文件。
每当我们调用shell脚本时,我们都会收到错误消息"权限被拒绝"阅读此BadFile
和LogFile
。
我试图提供文件系统级别的权限,没有运气。
我试过chmod 777 filename
等等。
答案 0 :(得分:1)
很明显,您的@Injectable()
export class TableService {
columnDataPath: string;
rowDataPath: string;
constructor(private http: HttpClient) {}
setColumnDataPath(columnDataPath: string) {
this.columnDataPath = columnDataPath;
}
setRowDataPath(rowDataPath: string) {
this.rowDataPath = rowDataPath;
}
getColumnSetting(): Observable<ColumnSettings[]> {
console.log('columnDataPath = ', this.columnDataPath);
if (!this.columnDataPath) {
return
}
return this.http
.get(
this.columnDataPath
)
.map((data) => {
return data as ColumnSettings[];
});
}
getRowData(): Observable<Bom[]> {
console.log('rowDataPath = ', this.rowDataPath);
if (!this.rowDataPath) {
return
}
return this.http
.get(
this.rowDataPath
)
.map((data) => {
console.log('bom data = ', data);
return data as Bom[];
});
}
}
程序没有执行该文件的适当权限。如您所述,您已将文件权限更改为Java
,您仍需要检查您的777
应用程序是否具有该路径的权限。假设您的shell脚本文件位于Java
,现在您需要检查/app/myapp/myshellscript.sh
应用程序是否具有目录Java
和app
中的适当权限才能访问脚本文件。只有文件执行权限才能解决您的问题。
检查您的Java应用程序运行的帐户/用户/组,并检查该帐户是否有权访问您的shell脚本文件的位置并进行修复。