2011-12-09 35 views

回答

2

這是不是很清楚你想要腳本做什麼。

此錯誤的原因是您沒有將任何參數傳遞給腳本。結果$1是空的。

您需要將您想要打印的列數:

ls -la | ./Column.sh 1 

將打印權限列是在第1列

1

您沒有將參數傳遞給Column.sh,因此$ 1是空字符串。也許你的意思是:

 
ls -a | while read name; do ./Column.sh $name; done 
0

awk有一個設備通過shell變量用到這樣的awk你不必與你的awk腳本玩遊戲報價:

#!/bin/sh 
awk -v "column=${1:-1}" '{print $column}' 

我使用shell的「默認值」的機制,如果未指定參數提供的默認值1。