Титла: Въпрос за скрипт
Публикувано от: keremidko в Jul 12, 2006, 09:43
В смисъл скрипта е следния: vim /home/USER/.mac в него има следното: /etc/init.d/networking stop ifconfig ethХ hw ether хх:хх:хх:хх:хх:хх /etc/init.d/networking start
та въпроса ми е като добавя: vim /etc/network/interfaces
как да добавя на еди кой си ред какво да промени? демек там кадето е IP-to да го смени с друго
П.С: това го правя за улеснение да напиша само: sh /home/USER/.mac (или /home/USER/.mac) и да се направи всичко за смяна на мак и ип ...и т.н а не да пиша 20 реда.
Титла: Въпрос за скрипт
Публикувано от: sdr в Jul 12, 2006, 11:05
Пробвай с sed или с просто копиране от нещо.вкъщи или нещо.наработа в нещо.системно
Титла: Въпрос за скрипт
Публикувано от: vstoykov в Jul 12, 2006, 11:22
Примерен код | #!/bin/bash Променлива=някакъв.адрес
/bin/cat << ENDFILE >> /etc/network/interfaces ..... .... .... ..... .... .... ..... .... .... ..... .... .... address $Променлива ..... .... .... ..... .... .... ..... .... .... ..... .... ....
ENDFILE
|
Там където е многоточието е съдържанието на файла, а мястото където е променливата е мястото, където желаеш да бъде съдържанието на тази променлива.
Вместо "Променлива=някакъв.адрес" можеш да напишеш "echo -ne "Въведете адреса: " ; read Променлива" – тогава скриптът ще пита за адреса.
Разбира се името на променливата трябва да е с латински букви (в противен случай ще ти изведе съобщение за грешка и няма да работи).
Титла: Въпрос за скрипт
Публикувано от: vstoykov в Jul 12, 2006, 11:26
Ето ти един пример как се записва конфигурационния файл на Slackware в моя скрипт за настройка на мрежата: Примерен код | # ############################################################################ # The rc.inet1.conf file. ############################################################################ #
# If we're doing loopback, we don't want 127.0.0.1 and 255.255.255.0 in # rc.inet1.conf... it's better to leave the values null. However, since # we use the IP in other places, we need to make a copy for here. #RCIPCOPY=$IPADDR #RCMASKCOPY=$NETMASK #if [ "$RCIPCOPY" = "127.0.0.1" ]; then # RCIPCOPY="" # RCMASKCOPY="" #fi
# echo "Creating /$RC..." /bin/cat << ENDFILE > $RC # /etc/rc.d/rc.inet1.conf # # This file contains the configuration settings for network interfaces. # If USE_DHCP[interface] is set to "yes", this overrides any other settings. # If you don't have an interface, leave the settings null ("").
# You can configure network interfaces other than eth0,eth1... by setting # IFNAME[interface] to the interface's name. If IFNAME[interface] is unset # or empty, it is assumed you're configuring eth<interface>.
# Several other parameters are available, the end of this file contains a # comprehensive set of examples.
# ============================================================================= ENDFILE
if [ "$all_eth_devices" = "" ]; then
/bin/cat << ENDFILE >> $RC # Config information for eth0: IPADDR[0]="" NETMASK[0]="" USE_DHCP[0]="" DHCP_HOSTNAME[0]=""
# Config information for eth1: IPADDR[1]="" NETMASK[1]="" USE_DHCP[1]="" DHCP_HOSTNAME[1]=""
# Config information for eth2: IPADDR[2]="" NETMASK[2]="" USE_DHCP[2]="" DHCP_HOSTNAME[2]=""
# Config information for eth3: IPADDR[3]="" NETMASK[3]="" USE_DHCP[3]="" DHCP_HOSTNAME[3]=""
ENDFILE
else
for eth_dev in $all_eth_devices; do
/bin/cat << ENDFILE >> $RC
# Config information for eth${eth_dev}: IPADDR[${eth_dev}]="${arr_IPADDR[${eth_dev}]}" NETMASK[${eth_dev}]="${arr_NETMASK[${eth_dev}]}" USE_DHCP[${eth_dev}]="${arr_USE_DHCP[${eth_dev}]}" DHCP_HOSTNAME[${eth_dev}]="${arr_DHCP_HOSTNAME[${eth_dev}]}"
ENDFILE
done
fi
/bin/cat << ENDFILE >> $RC
# Default gateway IP address: GATEWAY="$GATEWAY"
# Change this to "yes" for debugging output to stdout. Unfortunately, # /sbin/hotplug seems to disable stdout so you'll only see debugging output # when rc.inet1 is called directly. DEBUG_ETH_UP="no"
## Example config information for wlan0. Uncomment the lines you need and fill ## in your info. (You may not need all of these for your wireless network) #IFNAME[4]="wlan0" #IPADDR[4]="" #NETMASK[4]="" #USE_DHCP[4]="yes" #DHCP_HOSTNAME[4]="icculus-wireless" #DHCP_KEEPRESOLV[4]="yes" #DHCP_KEEPNTP[4]="yes" #DHCP_KEEPGW[4]="yes" #DHCP_IPADDR[4]="" #WLAN_ESSID[4]=BARRIER05 #WLAN_MODE[4]=Managed ##WLAN_RATE[4]="54M auto" ##WLAN_CHANNEL[4]="auto" ##WLAN_KEY[4]="D5AD1F04ACF048EC2D0B1C80C7" ##WLAN_IWPRIV[4]="AuthMode=WPAPSK EncrypType=TKIP WPAPSK=7B1ABEEB5D197741923ED26727569C365E31212096A0EAFAD563B268BAD01CAF TxRate=0" #WLAN_WPA[4]="wpa_supplicant" #WLAN_WPADRIVER[4]="ndiswrapper"
## Some examples of additional network parameters that you can use. ## Config information for wlan0: #IFNAME[4]="wlan0" # Use a different interface name nstead of # the default 'eth4' #HWADDR[4]="00:01:23:45:67:89" # Overrule the card's hardware MAC address #MTU[4]="" # The default MTU is 1500, but you might need # 1360 when you use NAT'ed IPSec traffic. #DHCP_KEEPRESOLV[4]="yes" # If you dont want /etc/resolv.conf overwritten #DHCP_KEEPNTP[4]="yes" # If you don't want ntp.conf overwritten #DHCP_KEEPGW[4]="yes" # If you don't want the DHCP server to change # your default gateway #DHCP_IPADDR[4]="" # Request a specific IP address from the DHCP # server #WLAN_ESSID[4]=DARKSTAR # Here, you can override _any_ parameter # defined in rc.wireless.conf, by prepending # 'WLAN_' to the parameter's name. Useful for # those with multiple wireless interfaces. #WLAN_IWPRIV[4]="AuthMode=WPAPSK EncrypType=TKIP WPAPSK=thekey TxRate=0" # Some drivers require a private ioctl to be # set through the iwpriv command. If more than # one is required, you can place them in the # IWPRIV parameter (space-separated, see the # example). ENDFILE chmod 644 $RC
|
Целият код: http://vslivecd.openfmi.net/viewtopic.php?t=57
Четива по въпроса може да намериш тук (раздел bash): http://vslivecd.openfmi.net/linuxdoc/ (огледало: http://d.interbild.net/vstoykov/linuxdoc/)
Титла: Въпрос за скрипт
Публикувано от: keremidko в Jul 12, 2006, 13:19
а аз не съобразих че по този начин настройките ще се запазят сега се сещам а ако добавя редовете с команди демек само не помян как бяха: ifconfig ...ip ако някой може да ми каже тази за промяната временно на ип до рестарт май с ифконфиг беше и само след рестарт изпълнявам файла в смисъл ще го сложа като команда преди да пусне интерфейсите. След като съм въвел мак-а. Трябва ми само командата за времена смяна на ип беше нещо ifconf... и става:
/etc/init.d/networking stop ifconfig ethХ hw ether хх:хх:хх:хх:хх:хх тук командата за временна смяна на ИП /etc/init.d/networking start
|