我創建了一個文件夾ABC。在這個文件夾中,我創建了兩個文件file1和file2。接下來在文件夾中,我爲每個人設置了rw權限。當我嘗試ls ABC
它打印:在Unix上重定向標準錯誤輸出
/bin/ls: cannot access ABC/file2: Permission denied
/bin/ls: cannot access ABC/file1: Permission denied
file1 file2
我想這個消息分成兩個部分,並寫入文件success.txt和fail.txt。因此,在猛砸,我想是這樣的:
ls ABC > success.txt 2> fail.txt
但success.txt我有「文件1文件2」,但fail.txt是空的,所以這裏是消息的頭兩行?
感謝Arne和shellter爲您的利益。所以,我創建文件夾:
mkdir ABC
下一頁:
cd ABC
touch file1 file2
下一頁:
cd ..
chmod 666 ABC
當我進入ls ABC
我得到:
/bin/ls: cannot access ABC/file2: Permission denied
/bin/ls: cannot access ABC/file1: Permission denied
file1 file2
但我當寫一個sh腳本,如:
#!/bin/sh
$* > success.txt 2> fail txt
fail.txt爲空。爲什麼?我補充說,在另一種情況下一切正常,所以問題只出現在命令在sterr和stdout上打印信息的地方。
我無法重現您的情況。重定向適合我。如果你能夠準確地寫下你是如何創建文件夾和文件的話,這將會有所幫助。 – Arne
,如果在腳本中(這是一個編程問題,對嗎?)添加類似'ls -l ABC/*'和'umask'的調試輸出,然後修改上面的問題以包含這些命令的輸出。也許你還應該編輯你的文章以包含腳本的相關部分。祝你好運。 – shellter