当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 菜鸟求教如何编写为最新的脚本赋予运行权限的脚本
帖子发表于 : 2009-09-17 0:33 

注册: 2008-04-30 19:57
帖子: 30
地址: http://godorz.cn
送出感谢: 0 次
接收感谢: 0 次
标题有点拗口..请问下怎么样得到最新脚本的文件名..ls -t?然后怎样拿第一个字符串?怎样抛掉空格给开的其他字符串..谢谢.


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 菜鸟求教如何编写为最新的脚本赋予运行权限的脚本
帖子发表于 : 2009-09-17 1:30 
头像

注册: 2008-07-21 9:44
帖子: 2371
地址: 深圳
送出感谢: 0 次
接收感谢: 0 次
代码:
ls -lt|sed -e'2!d'|awk '{print $8}'


_________________

My blog


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 菜鸟求教如何编写为最新的脚本赋予运行权限的脚本
帖子发表于 : 2009-09-17 9:43 

注册: 2008-11-01 21:42
帖子: 1028
地址: 树下板凳
送出感谢: 0 次
接收感谢: 1
代码:
chmod u+x $(file $(ls -t ) |sed -ne '/shell script text executable/p'|sed -e 's/://'|awk '{print $1}' |sed -n '1p')

低效的达到目的。
楼上得到的是最新修改的文件,没判断是否为脚本,高手继续


_________________
民族的脊梁,是踏实做事的人,非只知道骂街的泼妇。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 菜鸟求教如何编写为最新的脚本赋予运行权限的脚本
帖子发表于 : 2009-09-17 11:25 

注册: 2008-04-30 19:57
帖子: 30
地址: http://godorz.cn
送出感谢: 0 次
接收感谢: 0 次
t3swing 写道:
代码:
chmod u+x $(file $(ls -t ) |sed -ne '/shell script text executable/p'|sed -e 's/://'|awk '{print $1}' |sed -n '1p')

低效的达到目的。
楼上得到的是最新修改的文件,没判断是否为脚本,高手继续


用起来很好很强大,严重感谢~~


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 菜鸟求教如何编写为最新的脚本赋予运行权限的脚本
帖子发表于 : 2009-09-18 11:06 
头像

注册: 2009-09-18 10:03
帖子: 90
地址: 北京
送出感谢: 0 次
接收感谢: 0 次
t3swing 写道:
代码:
chmod u+x $(file $(ls -t ) |sed -ne '/shell script text executable/p'|sed -e 's/://'|awk '{print $1}' |sed -n '1p')

低效的达到目的。
楼上得到的是最新修改的文件,没判断是否为脚本,高手继续


其实这里用 ls -t是有点问题的。
建议用 "ls -l | sort -k6,7 -r" 来代替 :em11


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 菜鸟求教如何编写为最新的脚本赋予运行权限的脚本
帖子发表于 : 2009-09-18 12:05 
头像

注册: 2009-09-18 10:03
帖子: 90
地址: 北京
送出感谢: 0 次
接收感谢: 0 次
代码:
#!/bin/bash

files=`ls -l | sort -k6,7 -r| awk '{print $8}'`

for subfile in $files
do
    file "$subfile" | grep "executable" > /dev/null
    if [ $? -eq 0 ];then
        chmod u+x -v "$subfile"
        exit 0
    fi
done


这个应该可以了。t3swing 对各工具的掌握不错啊,学习了,学习了 :em01 :em01


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 菜鸟求教如何编写为最新的脚本赋予运行权限的脚本
帖子发表于 : 2009-09-18 12:32 

注册: 2008-05-24 8:30
帖子: 1453
送出感谢: 2
接收感谢: 30
我也来一个,可以处理 "a test script" 这样的文件名:
代码:
#!/bin/bash
latest_script=
for f in *; do
    if file -b "$f" | grep -q script; then
        if [[ ( -z "latest_script" ) || ( "$f" -nt "$latest_script" ) ]]; then
            latest_script="$f"
        fi
    fi
done

if [ -n "$latest_script" ]; then
    echo chmod a+x "$latest_script"
fi


我在 chmod 前加了个 echo 是为了调试用的,觉得可以了就把它去掉。


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 菜鸟求教如何编写为最新的脚本赋予运行权限的脚本
帖子发表于 : 2009-09-18 13:27 
头像

注册: 2009-09-18 10:03
帖子: 90
地址: 北京
送出感谢: 0 次
接收感谢: 0 次
aerofox 写道:
我也来一个,可以处理 "a test script" 这样的文件名:
代码:
#!/bin/bash
latest_script=
for f in *; do
    if file -b "$f" | grep -q script; then
        if [[ ( -z "latest_script" ) || ( "$f" -nt "$latest_script" ) ]]; then
            latest_script="$f"
        fi
    fi
done

if [ -n "$latest_script" ]; then
    echo chmod a+x "$latest_script"
fi


我在 chmod 前加了个 echo 是为了调试用的,觉得可以了就把它去掉。


学习了,我发现了在这个上面为别人解答问题对自己提高很有帮助啊。 :em06 :em06
学习学习 :em11 :em11


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译