2017-04-25 19 views
0

readLBL.sh我怎样才能保持文件名可变从这个代码

#!/bin/bash 
    while IFS='' read -r line || [[ -n "$line" ]]; do 
     echo "Text read from file: $line" 
    done < "$1" 

当我运行在终端这个shell脚本,我不得不为运行插入文件命名为

例子:

./readLBL.sh science.txt 

输出:

58050364;汤姆·琼斯

58050365;珍结婚

我怎能“science.txt”到一些变量像a = "science.txt"

+2

你在'$ 1'中有它 – yoones

+0

赋值$ 1给一个变量'a = $ 1' – hassan

+0

@yoones哇谢谢!我明白了,我是shell脚本的初学者。 –

回答

0

使用$1,因为这是你已经在使用阅读一审文件的说法。

#!/bin/bash 
while IFS='' read -r line || [[ -n "$line" ]]; do 
    echo "Text read from file $1: $line" 
done < "$1" 

运行此给出以下:

$ ./readLBL.sh science.txt 
Text read from file science.txt: 58050364;Tom Jones 
Text read from file science.txt: 58050365;Marry Jane 
0

从Linux命令行= “science.txt” ,将设置一个$等于science.txt

如果你想这个永久的,你可以将它添加到你的一个linux配置文件的底部。例如将它添加到〜/ .bashrc的底部

相关问题