我有一个最令人困惑的问题困扰了我多年。ls -l 和 du -sh *.给出的文件大小有什么区别?
GRILL:/user/MAIL/DATA>ll
total 270
drwxr-xr-x 11 user users 1024 Mar 21 2013 .
drwxr-xr-x 6 user users 96 May 28 2008 ..
drwxr-xr-x 10 user users 1024 Jun 14 09:40 Rod
drwxr-xr-x 3 user users 96 Sep 17 2010 Atlas
drwxr-xr-x 2339 user users 132096 Jun 14 15:00 Admin
drwxr-xr-x 3 user users 96 Jul 11 2014 DE
drwxr-xr-x 5 user users 96 Jun 14 08:30 Express
drwxr-xr-x 3 user users 96 Sep 17 2010 …
Run Code Online (Sandbox Code Playgroud) 我已经制作了下面的期望脚本,我需要记录该脚本的输出。
SOURCE_FILE=`ls -l *.txt --time-style=+%D | grep ${DT} | grep -v '^d' | awk '{print $NF}' `
if [ -n "${SOURCE_FILE}" ]
then
cp -p ${SOURCE_FILE} ${T_FILES}
/usr/bin/expect<<EOD
set timeout 60
spawn sftp $ES_SFTP_USER@$ES_SFTP_HOST_NAME:$R_LOCATION
expect "*?assword:"
send "$password\r"
expect "sftp>"
send "put /opt/AppServer/ES_TEST/todays_report/*.txt\r"
expect "sftp>"
send "bye\r"
expect EOD
EOD
else
echo "No Files to copy" >> ${LOGFILE}
fi
Run Code Online (Sandbox Code Playgroud)
我需要将 Expect 命令的输出记录在${LOGFILE}
. 如何做呢?
我尝试添加以下内容,但不起作用。可以做什么?
/usr/bin/expect<<EOD >> ${LOGFILE} 2>&1
set timeout 60
spawn sftp $ES_SFTP_USER@$ES_SFTP_HOST_NAME:$R_LOCATION
expect "*?assword:"
send "$password\r" …
Run Code Online (Sandbox Code Playgroud) 我正在尝试从 Linux 服务器发送电子邮件,我想发送图像,而不是作为附件,该图像应显示在邮件正文中。
我试过。
mailx -s "TEST mail" <MASKED>@mask.com < download.JPEG
Run Code Online (Sandbox Code Playgroud)
上面的命令在邮件正文中给出了随机垃圾数据
mailx --append "Content-type: text/html" -s "TEST mail" <MASKED>@mask.com < download.JPEG
Run Code Online (Sandbox Code Playgroud)
上面的命令没有起作用
mutt -a "download.JPEG" <MASKED>@mask.com -s "TEST mail" < /dev/null
Run Code Online (Sandbox Code Playgroud)
上述命令将图像作为附件发送。
UUENCODE
没有安装在我们的服务器中,所以我们不应该使用它。
以上任何人我都不想要。我希望我的照片显示在邮件正文上。
对此的任何帮助都将受到高度赞赏。
我有一个要在文件列表中查找单词列表。因此,我将单词列表放在一个文件中,并使用for
循环尝试读取文件中的每个单词并使用 find 命令grep
在找到的文件列表中查找该单词。
我正在使用提到的 Linux 风格
bash-3.1$ uname
HP-UX
Run Code Online (Sandbox Code Playgroud)
下面提到的是我的shell脚本。
#!/bin/sh
PATH="/NO/20171013"
STRING=`/usr/bin/cat /home/test/STAT44_test.txt`
for LINE in ${STRING}
do
echo "find ${PATH} -type f -name \"*.txt\" -exec grep -w "${LINE}" {} \; 2>/dev/null | /usr/bin/wc -l"
LINES=`find ${PATH} -type f -name "*.txt" -exec grep -w "${LINE}" {} \; 2>/dev/null | /usr/bin/wc -l`
echo "LINES count is ${LINES}"
if [ ${LINES} -eq 0 ]
then
echo "In not found"
# echo "${LINE} is not found in ${PATH}" …
Run Code Online (Sandbox Code Playgroud)