2013-04-13 108 views

回答

8

試試這個行:

VAR=$(cat file.txt) 

VAR=$(head -1 file.txt) 

編輯1:

使用UNIX的輸出命令來設置變量

一個關於shell腳本的最好的事情是,它是非常容易使用任何Unix命令生成的輸出,並用它來設置變量。

在這個例子中,我運行的日期命令並保存其輸出值我的變量:

#!/bin/sh 
# 
STARTED=`date` 
sleep 5 
FINISHED=`date` 
# 
echo "Script start time: $STARTED" 
echo "Script finish time: $FINISHED" 

如果我運行這個簡單的腳本,我看到以下內容:

ubuntu$ /tmp/1.sh 
Script start time: Wed May 7 04:56:51 CDT 2008 
Script finish time: Wed May 7 04:56:56 CDT 2008 

幾乎可以在任何情況下使用相同的方法。

所以MVP的答案將在任何UNIX外殼作品:

F=`cat file.txt` 

只是反引號`'單qoute嘗試

+0

我已經嘗試了上述2。它在solaris上不起作用。它給出了語法錯誤 – Ajit

+0

什麼是你的shell解釋器:sh,bash,csh或ksh? – pylover

+0

shell解釋器是sh – Ajit

4

這應該工作:

VAR=`cat file.txt` 

如果你想獲得的文件只有第一行,用這個:

VAR=`head -1 file.txt` 
+1

我已經嘗試了上述cmds,但它不起作用。 – Ajit

+0

VAR ='cat file.txt echo $ var 上面的輸出cat file.txt – Ajit

+4

請確保您使用反向,而不是'''。如果不確定,請複製並粘貼它 - 它工作 – mvp

3

你試過以下

VAR=$(<file) 

它工作時,我需要在一個雙行文件中的第二行作爲變量存儲在bash中。

相關問題